diff --git a/Assets/Prefabs/UI/PauseMenu.prefab b/Assets/Prefabs/UI/PauseMenu.prefab
index b4300dd4..99c6d9be 100644
--- a/Assets/Prefabs/UI/PauseMenu.prefab
+++ b/Assets/Prefabs/UI/PauseMenu.prefab
@@ -1,5 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &511275990325051221
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8251498226431799150}
+ - component: {fileID: 8048467747487978610}
+ - component: {fileID: 8715265251219887933}
+ m_Layer: 0
+ m_Name: DevButtons
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &8251498226431799150
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 511275990325051221}
+ 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_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 7689186332346484199}
+ - {fileID: 6468639774908699391}
+ - {fileID: 3190171609966749241}
+ m_Father: {fileID: 1302888740346723223}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.25412482, y: 0.22863281}
+ m_AnchorMax: {x: 0.7471072, y: 0.67300004}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: -0.000044160523, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8048467747487978610
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 511275990325051221}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GridLayoutGroup
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 4
+ m_StartCorner: 0
+ m_StartAxis: 0
+ m_CellSize: {x: 200, y: 200}
+ m_Spacing: {x: 100, y: 100}
+ m_Constraint: 1
+ m_ConstraintCount: 2
+--- !u!114 &8715265251219887933
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 511275990325051221}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.AspectRatioFitter
+ m_AspectMode: 2
+ m_AspectRatio: 1.0827775
--- !u!1 &667683895919791839
GameObject:
m_ObjectHideFlags: 0
@@ -35,6 +113,7 @@ RectTransform:
m_Children:
- {fileID: 1639126667473908565}
- {fileID: 5605205583985027889}
+ - {fileID: 8251498226431799150}
- {fileID: 9052230212113207254}
m_Father: {fileID: 1596438591304698361}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -110,6 +189,9 @@ MonoBehaviour:
pauseMenuPanel: {fileID: 667683895919791839}
pauseButton: {fileID: 2741683265562644894}
canvasGroup: {fileID: 0}
+ devOptionsButton: {fileID: 3801156735001504240}
+ mainOptionsContainer: {fileID: 9039430485754110792}
+ devOptionsContainer: {fileID: 511275990325051221}
--- !u!114 &2181820907823665012
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -341,6 +423,138 @@ MonoBehaviour:
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
+--- !u!1 &2364804940449778366
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7689186332346484199}
+ - component: {fileID: 4934815337806418604}
+ - component: {fileID: 3115384282291981250}
+ - component: {fileID: 3988503693081324047}
+ m_Layer: 0
+ m_Name: ResetAll
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7689186332346484199
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2364804940449778366}
+ 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_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8251498226431799150}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 152.26892, y: -129.16074}
+ m_SizeDelta: {x: 200, y: 200}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4934815337806418604
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2364804940449778366}
+ m_CullTransparentMesh: 1
+--- !u!114 &3115384282291981250
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2364804940449778366}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -1083306995931140661, guid: 9d084ac2438d6f9448c61a62639581ba, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &3988503693081324047
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2364804940449778366}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 0.85165936, b: 0.5058824, 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 3115384282291981250}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 3083882772934295339}
+ m_TargetAssemblyTypeName: UI.PauseMenu, AppleHillsScripts
+ m_MethodName: DevResetAndReload
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
--- !u!1 &2741683265562644894
GameObject:
m_ObjectHideFlags: 0
@@ -618,6 +832,126 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
+--- !u!1 &4043066030284804420
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3190171609966749241}
+ - component: {fileID: 3944772580628863841}
+ - component: {fileID: 500835664005007083}
+ - component: {fileID: 4615815710691098141}
+ m_Layer: 0
+ m_Name: ExitDev
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3190171609966749241
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4043066030284804420}
+ m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 0.57}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8251498226431799150}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 152.26892, y: -429.16074}
+ m_SizeDelta: {x: 200, y: 200}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3944772580628863841
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4043066030284804420}
+ m_CullTransparentMesh: 1
+--- !u!114 &500835664005007083
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4043066030284804420}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -4346244404228752641, guid: 7b5d036a9fa30484e911f4752e3a64c8, 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
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &4615815710691098141
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4043066030284804420}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 500835664005007083}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
--- !u!1 &4393876071688605581
GameObject:
m_ObjectHideFlags: 0
@@ -1180,6 +1514,138 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
+--- !u!1 &6345139731443986799
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6468639774908699391}
+ - component: {fileID: 8103997363025124610}
+ - component: {fileID: 4839534564758666043}
+ - component: {fileID: 8926505797013142345}
+ m_Layer: 0
+ m_Name: Boosters
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6468639774908699391
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6345139731443986799}
+ 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_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8251498226431799150}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 452.26892, y: -129.16074}
+ m_SizeDelta: {x: 200, y: 200}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8103997363025124610
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6345139731443986799}
+ m_CullTransparentMesh: 1
+--- !u!114 &4839534564758666043
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6345139731443986799}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 4365544765984126881, guid: 9dac643e78ad86e4988c11a92f9c7a6d, 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
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &8926505797013142345
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6345139731443986799}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 4839534564758666043}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 3083882772934295339}
+ m_TargetAssemblyTypeName: UI.PauseMenu, AppleHillsScripts
+ m_MethodName: DevGiveBoosters
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
--- !u!1 &6742380579958252912
GameObject:
m_ObjectHideFlags: 0
@@ -1296,14 +1762,14 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
- m_Interactable: 0
+ m_Interactable: 1
m_TargetGraphic: {fileID: 3509344351066108678}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 3083882772934295339}
m_TargetAssemblyTypeName: UI.PauseMenu, AppleHillsScripts
- m_MethodName: ExitGame
+ m_MethodName: ShowDevOptions
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
diff --git a/Assets/Scripts/Data/CardSystem/CardSystemManager.cs b/Assets/Scripts/Data/CardSystem/CardSystemManager.cs
index 621d4f30..3e775ea5 100644
--- a/Assets/Scripts/Data/CardSystem/CardSystemManager.cs
+++ b/Assets/Scripts/Data/CardSystem/CardSystemManager.cs
@@ -1,10 +1,9 @@
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using AppleHills.Data.CardSystem;
using Core;
using Core.Lifecycle;
-using Core.SaveLoad;
using UnityEngine;
namespace Data.CardSystem
@@ -703,6 +702,22 @@ namespace Data.CardSystem
}
}
+ ///
+ /// Clears all card collection data - inventory, pending cards, boosters, and placement tracking
+ /// Used for dev reset functionality
+ ///
+ public void ClearAllCollectionData()
+ {
+ playerInventory.ClearAllCards();
+ playerInventory.BoosterPackCount = 0;
+ _pendingRevealCards.Clear();
+ _placedInAlbumCardIds.Clear();
+
+ OnBoosterCountChanged?.Invoke(0);
+
+ Logging.Debug("[CardSystemManager] Cleared all collection data (inventory, boosters, pending, placement tracking)");
+ }
+
#region Save/Load Lifecycle Hooks
protected override string OnGlobalSaveRequested()
diff --git a/Assets/Scripts/UI/PauseMenu.cs b/Assets/Scripts/UI/PauseMenu.cs
index a6aef1f3..7ec8c2f1 100644
--- a/Assets/Scripts/UI/PauseMenu.cs
+++ b/Assets/Scripts/UI/PauseMenu.cs
@@ -1,6 +1,7 @@
using System;
using Core;
using Core.SaveLoad;
+using Data.CardSystem;
using UnityEngine;
using UnityEngine.SceneManagement;
using UI.Core;
@@ -21,6 +22,11 @@ namespace UI
[SerializeField] private GameObject pauseMenuPanel;
[SerializeField] private GameObject pauseButton;
[SerializeField] private CanvasGroup canvasGroup;
+
+ [Header("Dev Options")]
+ [SerializeField] private UnityEngine.UI.Button devOptionsButton;
+ [SerializeField] private GameObject mainOptionsContainer;
+ [SerializeField] private GameObject devOptionsContainer;
// After UIPageController (50)
public override int ManagedAwakePriority => 55;
@@ -373,5 +379,91 @@ namespace UI
// Just ensure the parent is active. Do not force pause or transitions here.
parent.SetActive(true);
}
+
+ #region Dev Options
+
+ ///
+ /// Shows dev options panel and hides main options
+ ///
+ public void ShowDevOptions()
+ {
+ if (mainOptionsContainer != null) mainOptionsContainer.SetActive(false);
+ if (devOptionsContainer != null) devOptionsContainer.SetActive(true);
+ Logging.Debug("[PauseMenu] Showing dev options");
+ }
+
+ ///
+ /// Hides dev options panel and shows main options
+ ///
+ public void HideDevOptions()
+ {
+ if (devOptionsContainer != null) devOptionsContainer.SetActive(false);
+ if (mainOptionsContainer != null) mainOptionsContainer.SetActive(true);
+ Logging.Debug("[PauseMenu] Hiding dev options");
+ }
+
+ ///
+ /// Dev option: Completely wipes all save data and reloads the current level
+ ///
+ public async void DevResetAndReload()
+ {
+ Logging.Debug("[PauseMenu] Dev Reset: Clearing all save data and reloading level");
+
+ // Clear the card collection
+ if (CardSystemManager.Instance != null)
+ {
+ CardSystemManager.Instance.ClearAllCollectionData();
+ Logging.Debug("[PauseMenu] Cleared card collection");
+ }
+
+ // Clear all save data from memory
+ if (SaveLoadManager.Instance != null && SaveLoadManager.Instance.currentSaveData != null)
+ {
+ SaveLoadManager.Instance.currentSaveData.participantStates.Clear();
+ SaveLoadManager.Instance.currentSaveData.unlockedMinigames.Clear();
+ Logging.Debug("[PauseMenu] Cleared all save data from memory");
+ }
+
+ // Delete the save file
+ string saveFolder = System.IO.Path.Combine(Application.persistentDataPath, "GameSaves");
+ if (System.IO.Directory.Exists(saveFolder))
+ {
+ try
+ {
+ string[] files = System.IO.Directory.GetFiles(saveFolder);
+ foreach (string file in files)
+ {
+ System.IO.File.Delete(file);
+ Logging.Debug($"[PauseMenu] Deleted save file: {file}");
+ }
+ }
+ catch (Exception ex)
+ {
+ Logging.Warning($"[PauseMenu] Failed to delete some save files: {ex.Message}");
+ }
+ }
+
+ // Now reload the current scene - skipSave=true prevents re-saving the cleared data
+ var progress = new Progress(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
+ await SceneManagerService.Instance.ReloadCurrentScene(progress, autoHideLoadingScreen: true, skipSave: true);
+ }
+
+ ///
+ /// Dev option: Gives the player 3 booster packs
+ ///
+ public void DevGiveBoosters()
+ {
+ if (CardSystemManager.Instance != null)
+ {
+ CardSystemManager.Instance.AddBoosterPack(3);
+ Logging.Debug("[PauseMenu] Dev: Granted 3 booster packs");
+ }
+ else
+ {
+ Logging.Warning("[PauseMenu] Dev: CardSystemManager not available");
+ }
+ }
+
+ #endregion
}
}