Add bazooka manager

This commit is contained in:
2025-12-22 23:32:24 -07:00
parent edbb5559bf
commit 873e59ad2f
6 changed files with 188 additions and 0 deletions

View File

@@ -1466,6 +1466,50 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 77dc06bcc97db4033b6cd70f52cf499a, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::BouncyButton
--- !u!1 &1177180270
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1177180272}
- component: {fileID: 1177180271}
m_Layer: 0
m_Name: BazookaManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1177180271
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1177180270}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0716218eb05c948ebb11f5d96d9131ac, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::BazookaManager
--- !u!4 &1177180272
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1177180270}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 548.65607, y: 465.11084, 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 &1188230703
GameObject:
m_ObjectHideFlags: 0
@@ -1928,3 +1972,4 @@ SceneRoots:
- {fileID: 1188230706}
- {fileID: 343903086}
- {fileID: 1907152561}
- {fileID: 1177180272}

View File

@@ -998,6 +998,50 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 689023070}
m_CullTransparentMesh: 1
--- !u!1 &725212258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 725212260}
- component: {fileID: 725212259}
m_Layer: 0
m_Name: BazookaManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &725212259
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 725212258}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0716218eb05c948ebb11f5d96d9131ac, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::BazookaManager
--- !u!4 &725212260
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 725212258}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 548.65607, y: 465.11084, 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 &725466654
GameObject:
m_ObjectHideFlags: 0
@@ -2567,3 +2611,4 @@ SceneRoots:
- {fileID: 1667457746}
- {fileID: 291373823}
- {fileID: 275857914}
- {fileID: 725212260}

View File

@@ -0,0 +1,88 @@
using System.IO;
using System.Text;
using Newtonsoft.Json.Linq;
using UnityEngine;
public class BazookaManager : MonoBehaviour
{
public static BazookaManager Instance;
private bool firstLoadDone = false;
public JObject saveFile = new()
{
["version"] = "0"
};
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, "savefile.json");
if (!File.Exists(path))
{
File.Create(path).Dispose();
}
else
{
try
{
var tempSaveFile = JObject.Parse(File.ReadAllText(path));
if (tempSaveFile != null) saveFile = tempSaveFile;
}
catch
{
Debug.LogWarning("Failed to load save file");
}
}
if (saveFile["version"] == null || saveFile["version"].ToString() != "0")
{
saveFile["version"] = "0";
}
}
public void Save()
{
string path = Path.Join(Application.persistentDataPath, "savefile.json");
using var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None);
var encoded = Encoding.UTF8.GetBytes(saveFile.ToString(Newtonsoft.Json.Formatting.Indented));
fileStream.Write(encoded, 0, encoded.Length);
fileStream.Flush(true);
}
public void ResetSave()
{
saveFile = new JObject
{
["version"] = "0"
};
Save();
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 0716218eb05c948ebb11f5d96d9131ac

View File

@@ -13,6 +13,7 @@
"com.unity.ide.visualstudio": "2.0.25",
"com.unity.inputsystem": "1.17.0",
"com.unity.multiplayer.center": "1.0.1",
"com.unity.nuget.newtonsoft-json": "3.2.2",
"com.unity.render-pipelines.universal": "17.3.0",
"com.unity.test-framework": "1.6.0",
"com.unity.timeline": "1.8.9",

View File

@@ -184,6 +184,13 @@
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.nuget.newtonsoft-json": {
"version": "3.2.2",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.render-pipelines.core": {
"version": "17.3.0",
"depth": 1,