From 1f14ea0ca96178fc37c1d63d9f69c243df147ca4 Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Tue, 1 Jul 2025 19:09:53 -0700 Subject: [PATCH] Add bazooka save file manager Don't ask why the name is bazooka. I will bazooka you out of existance if you ask. --- Assets/Scenes/AccountMenu.unity | 47 +++++++++++++- Assets/Scenes/ChatroomMenu.unity | 92 +++++++++++++++++++++++++++ Assets/Scenes/GamePlayer.unity | 47 +++++++++++++- Assets/Scenes/IconsMenu.unity | 47 +++++++++++++- Assets/Scenes/LeaderboardMenu.unity | 47 +++++++++++++- Assets/Scenes/LoadingMenu.unity | 47 +++++++++++++- Assets/Scenes/MainMenu.unity | 49 +++++++++++++- Assets/Scenes/SettingsMenu.unity | 47 +++++++++++++- Assets/Scripts/BazookaManager.cs | 75 ++++++++++++++++++++++ Assets/Scripts/BazookaManager.cs.meta | 2 + Packages/manifest.json | 1 + Packages/packages-lock.json | 19 ++++-- 12 files changed, 507 insertions(+), 13 deletions(-) create mode 100644 Assets/Scripts/BazookaManager.cs create mode 100644 Assets/Scripts/BazookaManager.cs.meta diff --git a/Assets/Scenes/AccountMenu.unity b/Assets/Scenes/AccountMenu.unity index f1383a7..7c046e6 100644 --- a/Assets/Scenes/AccountMenu.unity +++ b/Assets/Scenes/AccountMenu.unity @@ -4147,6 +4147,50 @@ MonoBehaviour: m_Spacing: {x: 0, y: 45} m_Constraint: 0 m_ConstraintCount: 2 +--- !u!1 &667608825 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 667608827} + - component: {fileID: 667608826} + m_Layer: 0 + m_Name: BazookaManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &667608826 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 667608825} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &667608827 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 667608825} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &682940900 GameObject: m_ObjectHideFlags: 0 @@ -12033,7 +12077,7 @@ Transform: m_GameObject: {fileID: 1724546899} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -16055,5 +16099,6 @@ SceneRoots: m_Roots: - {fileID: 720281946} - {fileID: 1724546901} + - {fileID: 667608827} - {fileID: 1094007101} - {fileID: 682940903} diff --git a/Assets/Scenes/ChatroomMenu.unity b/Assets/Scenes/ChatroomMenu.unity index 50bf14f..d70aac8 100644 --- a/Assets/Scenes/ChatroomMenu.unity +++ b/Assets/Scenes/ChatroomMenu.unity @@ -467,6 +467,52 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 111434133} m_CullTransparentMesh: 1 +--- !u!1 &220385428 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 220385430} + - component: {fileID: 220385429} + m_Layer: 0 + m_Name: LatestVersionText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &220385429 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 220385428} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3} + m_Name: + m_EditorClassIdentifier: + text: {fileID: 0} + updateButton: {fileID: 0} +--- !u!4 &220385430 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 220385428} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &238505597 GameObject: m_ObjectHideFlags: 0 @@ -1953,6 +1999,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1645895618} m_CullTransparentMesh: 1 +--- !u!1 &1713791598 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1713791600} + - component: {fileID: 1713791599} + m_Layer: 0 + m_Name: BazookaManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1713791599 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1713791598} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1713791600 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1713791598} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1759740292 GameObject: m_ObjectHideFlags: 0 @@ -2940,6 +3030,8 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 1808945144} + - {fileID: 220385430} + - {fileID: 1713791600} - {fileID: 459343323} - {fileID: 769329732} - {fileID: 1784509951} diff --git a/Assets/Scenes/GamePlayer.unity b/Assets/Scenes/GamePlayer.unity index de7a48c..ee59d80 100644 --- a/Assets/Scenes/GamePlayer.unity +++ b/Assets/Scenes/GamePlayer.unity @@ -2398,7 +2398,7 @@ Transform: m_GameObject: {fileID: 1261483214} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -3474,6 +3474,50 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &1931111987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1931111989} + - component: {fileID: 1931111988} + m_Layer: 0 + m_Name: BazookaManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1931111988 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931111987} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1931111989 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1931111987} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1943129611 GameObject: m_ObjectHideFlags: 0 @@ -3691,6 +3735,7 @@ SceneRoots: m_Roots: - {fileID: 519420032} - {fileID: 1261483216} + - {fileID: 1931111989} - {fileID: 1625416040} - {fileID: 808236451} - {fileID: 1811565639} diff --git a/Assets/Scenes/IconsMenu.unity b/Assets/Scenes/IconsMenu.unity index 12401e5..c189e44 100644 --- a/Assets/Scenes/IconsMenu.unity +++ b/Assets/Scenes/IconsMenu.unity @@ -4723,7 +4723,7 @@ Transform: m_GameObject: {fileID: 834607533} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -7646,6 +7646,50 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} +--- !u!1 &1492061413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1492061415} + - component: {fileID: 1492061414} + m_Layer: 0 + m_Name: BazookaManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1492061414 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1492061413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1492061415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1492061413} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1513029171 GameObject: m_ObjectHideFlags: 0 @@ -11385,5 +11429,6 @@ SceneRoots: m_Roots: - {fileID: 1062570983} - {fileID: 834607535} + - {fileID: 1492061415} - {fileID: 1844786183} - {fileID: 2134364725} diff --git a/Assets/Scenes/LeaderboardMenu.unity b/Assets/Scenes/LeaderboardMenu.unity index 178c0b7..a405560 100644 --- a/Assets/Scenes/LeaderboardMenu.unity +++ b/Assets/Scenes/LeaderboardMenu.unity @@ -1538,6 +1538,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 682674804} m_CullTransparentMesh: 1 +--- !u!1 &863352644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 863352646} + - component: {fileID: 863352645} + m_Layer: 0 + m_Name: BazookaManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &863352645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 863352644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &863352646 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 863352644} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &892424263 GameObject: m_ObjectHideFlags: 0 @@ -3388,7 +3432,7 @@ Transform: m_GameObject: {fileID: 1711730330} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -4861,6 +4905,7 @@ SceneRoots: m_Roots: - {fileID: 1455063616} - {fileID: 1711730332} + - {fileID: 863352646} - {fileID: 1991415992} - {fileID: 382688262} - {fileID: 1820585371} diff --git a/Assets/Scenes/LoadingMenu.unity b/Assets/Scenes/LoadingMenu.unity index 8e69eaa..6dac43c 100644 --- a/Assets/Scenes/LoadingMenu.unity +++ b/Assets/Scenes/LoadingMenu.unity @@ -752,7 +752,7 @@ Transform: m_GameObject: {fileID: 842325108} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -1151,11 +1151,56 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1201615240} m_CullTransparentMesh: 1 +--- !u!1 &1674316299 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1674316301} + - component: {fileID: 1674316300} + m_Layer: 0 + m_Name: BazookaManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1674316300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1674316299} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1674316301 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1674316299} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 705564545} - {fileID: 842325110} + - {fileID: 1674316301} - {fileID: 734849810} - {fileID: 759356942} diff --git a/Assets/Scenes/MainMenu.unity b/Assets/Scenes/MainMenu.unity index e4a2ac2..8cf432a 100644 --- a/Assets/Scenes/MainMenu.unity +++ b/Assets/Scenes/MainMenu.unity @@ -432,7 +432,7 @@ Transform: m_GameObject: {fileID: 101625091} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -1301,6 +1301,8 @@ MonoBehaviour: updateText: {fileID: 673338280} updateButton: {fileID: 1292044491} selfBuiltPanel: {fileID: 603486472} + loadButton: {fileID: 0} + saveButton: {fileID: 0} --- !u!1 &603486472 GameObject: m_ObjectHideFlags: 0 @@ -3337,6 +3339,50 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: sceneName: LeaderboardMenu +--- !u!1 &1608799620 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1608799622} + - component: {fileID: 1608799621} + m_Layer: 0 + m_Name: BazookaManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1608799621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1608799620} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1608799622 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1608799620} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1657120007 GameObject: m_ObjectHideFlags: 0 @@ -4705,6 +4751,7 @@ SceneRoots: m_Roots: - {fileID: 519420032} - {fileID: 101625093} + - {fileID: 1608799622} - {fileID: 583716567} - {fileID: 2001843693} - {fileID: 1263503583} diff --git a/Assets/Scenes/SettingsMenu.unity b/Assets/Scenes/SettingsMenu.unity index f73dd0e..403d2bf 100644 --- a/Assets/Scenes/SettingsMenu.unity +++ b/Assets/Scenes/SettingsMenu.unity @@ -1121,7 +1121,7 @@ Transform: m_GameObject: {fileID: 233625535} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -2128,6 +2128,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 606672992} m_CullTransparentMesh: 1 +--- !u!1 &616097863 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 616097865} + - component: {fileID: 616097864} + m_Layer: 0 + m_Name: BazookaManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &616097864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 616097863} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &616097865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 616097863} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &712294700 GameObject: m_ObjectHideFlags: 0 @@ -6355,5 +6399,6 @@ SceneRoots: m_Roots: - {fileID: 313320704} - {fileID: 233625537} + - {fileID: 616097865} - {fileID: 1246405077} - {fileID: 99615555} diff --git a/Assets/Scripts/BazookaManager.cs b/Assets/Scripts/BazookaManager.cs new file mode 100644 index 0000000..31ffd33 --- /dev/null +++ b/Assets/Scripts/BazookaManager.cs @@ -0,0 +1,75 @@ +using System; +using System.IO; +using System.Linq; +using System.Net.Security; +using Newtonsoft.Json.Linq; +using UnityEngine; + +public class BazookaManager : MonoBehaviour +{ + public static BazookaManager Instance; + private bool firstLoadDone = false; + public JObject saveFile = new(); + + void Awake() + { + if (Instance == null) + { + Instance = this; + DontDestroyOnLoad(gameObject); + if (!firstLoadDone) + { + firstLoadDone = true; + Load(); + } + } + else + { + Destroy(gameObject); + } + } + + void OnApplicationQuit() + { + Save(); + } + + void OnApplicationPause(bool pause) + { + if (pause) + { + Save(); + } + } + + public void Load() + { + string path = Path.Join(Application.persistentDataPath, "BazookaManager.dat"); + if (!File.Exists(path)) + { + File.Create(path).Dispose(); + } + else + { + try + { + var tempSaveFile = JObject.Parse(SensitiveInfo.DecryptRaw(File.ReadAllBytes(path), SensitiveInfo.BAZOOKA_MANAGER_KEY)); + if (tempSaveFile != null) saveFile = tempSaveFile; + } + catch + { + Debug.LogWarning("Failed to load save file"); + } + } + } + + public void Save() + { + string path = Path.Join(Application.persistentDataPath, "BazookaManager.dat"); + var encoded = SensitiveInfo.EncryptRaw(saveFile.ToString(Newtonsoft.Json.Formatting.None), SensitiveInfo.BAZOOKA_MANAGER_KEY); + if (encoded == null) return; + using var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None); + fileStream.Write(encoded, 0, encoded.Length); + fileStream.Flush(true); + } +} diff --git a/Assets/Scripts/BazookaManager.cs.meta b/Assets/Scripts/BazookaManager.cs.meta new file mode 100644 index 0000000..59b3ff2 --- /dev/null +++ b/Assets/Scripts/BazookaManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a0df255fc60e6e3c88ebb94d2d88db4d \ No newline at end of file diff --git a/Packages/manifest.json b/Packages/manifest.json index 3e74045..5db5162 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -12,6 +12,7 @@ "com.unity.ide.visualstudio": "2.0.23", "com.unity.inputsystem": "1.14.0", "com.unity.multiplayer.center": "1.0.0", + "com.unity.nuget.newtonsoft-json": "3.2.1", "com.unity.render-pipelines.universal": "17.1.0", "com.unity.test-framework": "1.5.1", "com.unity.timeline": "1.8.8", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 7afc680..3d0e02c 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -18,9 +18,9 @@ "depth": 0, "source": "registry", "dependencies": { + "com.unity.2d.common": "10.0.0", "com.unity.2d.sprite": "1.0.0", "com.unity.2d.tilemap": "1.0.0", - "com.unity.2d.common": "10.0.0", "com.unity.mathematics": "1.2.6", "com.unity.modules.animation": "1.0.0" }, @@ -31,11 +31,11 @@ "depth": 1, "source": "registry", "dependencies": { + "com.unity.burst": "1.8.4", "com.unity.2d.sprite": "1.0.0", "com.unity.mathematics": "1.1.0", - "com.unity.modules.uielements": "1.0.0", "com.unity.modules.animation": "1.0.0", - "com.unity.burst": "1.8.4" + "com.unity.modules.uielements": "1.0.0" }, "url": "https://packages.unity.com" }, @@ -61,8 +61,8 @@ "depth": 0, "source": "registry", "dependencies": { - "com.unity.mathematics": "1.1.0", "com.unity.2d.common": "10.0.0", + "com.unity.mathematics": "1.1.0", "com.unity.modules.physics2d": "1.0.0" }, "url": "https://packages.unity.com" @@ -81,8 +81,8 @@ "depth": 0, "source": "registry", "dependencies": { - "com.unity.modules.tilemap": "1.0.0", "com.unity.2d.tilemap": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" }, "url": "https://packages.unity.com" @@ -110,8 +110,8 @@ "source": "registry", "dependencies": { "com.unity.burst": "1.8.17", - "com.unity.nuget.mono-cecil": "1.11.4", "com.unity.test-framework": "1.4.5", + "com.unity.nuget.mono-cecil": "1.11.4", "com.unity.test-framework.performance": "3.0.3" }, "url": "https://packages.unity.com" @@ -171,6 +171,13 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.nuget.newtonsoft-json": { + "version": "3.2.1", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.render-pipelines.core": { "version": "17.1.0", "depth": 1,