Skip to content

Commit ed29f16

Browse files
committed
Added missing components
Fixed some bugs
1 parent a7e5d80 commit ed29f16

File tree

9 files changed

+75
-8
lines changed

9 files changed

+75
-8
lines changed

Assets/Kekser/SaveSystem/Attributes/SaveAttributeManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public static void CacheTypes()
5858

5959
foreach (Assembly assembly in assemblies)
6060
{
61-
if (!assembly.FullName.StartsWith("Assembly-CSharp"))
61+
if (!assembly.FullName.StartsWith("Assembly-CSharp") && !assembly.FullName.StartsWith("SaveSystem"))
6262
continue;
6363

6464
Type[] types = assembly.GetTypes();

Assets/Kekser/SaveSystem/Editor/PrefabRegistryEditor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class PrefabRegistryEditor : Editor
1010
[MenuItem("Tools/Save System/Update Prefabs")]
1111
private static void UpdatePrefabs()
1212
{
13-
PrefabRegistry prefabRegistry = (PrefabRegistry) AssetDatabase.LoadAssetAtPath("Assets/Game/Resources/PrefabRegistry.asset", typeof(PrefabRegistry));
13+
PrefabRegistry prefabRegistry = (PrefabRegistry) AssetDatabase.LoadAssetAtPath("Assets/Resources/PrefabRegistry.asset", typeof(PrefabRegistry));
1414
if (prefabRegistry == null)
1515
{
1616
if (!AssetDatabase.IsValidFolder("Assets/Resources"))

Assets/Kekser/SaveSystem/Editor/SaveAttributeWindow.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ private static void ShowWindow()
1212
{
1313
var window = GetWindow<SaveAttributeWindow>();
1414
window.titleContent = new GUIContent("Save Attributes");
15+
window._savePath = Application.persistentDataPath + "/save.sav";
1516
window.Show();
1617
}
1718

18-
private string _savePath = Application.persistentDataPath + "/save.sav";
19+
private string _savePath;
1920
private Vector2 _scrollPos;
2021

2122
private void OnGUI()
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using Kekser.SaveSystem.Attributes;
2+
using Kekser.SaveSystem.Data;
3+
using UnityEngine;
4+
5+
namespace Kekser.SaveSystem.SavableComponents
6+
{
7+
[RequireComponent(typeof(Rigidbody))]
8+
public class SavableRigidbody : MonoBehaviour
9+
{
10+
private Rigidbody _rigidbody;
11+
12+
private void Awake()
13+
{
14+
_rigidbody = GetComponent<Rigidbody>();
15+
}
16+
17+
[Save]
18+
public void Save(DataObject dataObject)
19+
{
20+
dataObject.Add("Velocity", new DataElement(_rigidbody.velocity));
21+
dataObject.Add("AngularVelocity", new DataElement(_rigidbody.angularVelocity));
22+
}
23+
24+
[Load]
25+
public void Load(DataObject dataObject)
26+
{
27+
_rigidbody.velocity = dataObject.Get<DataElement>("Velocity").ToObject<Vector3>();
28+
_rigidbody.angularVelocity = dataObject.Get<DataElement>("AngularVelocity").ToObject<Vector3>();
29+
}
30+
}
31+
}

Assets/Kekser/SaveSystem/SavableComponents/SavableRigidbody.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using Kekser.SaveSystem.Attributes;
2+
using Kekser.SaveSystem.Data;
3+
using UnityEngine;
4+
5+
namespace Kekser.SaveSystem.SavableComponents
6+
{
7+
public class SavableTransform : MonoBehaviour
8+
{
9+
[Save]
10+
public void Save(DataObject dataObject)
11+
{
12+
dataObject.Add("Position", new DataElement(transform.position));
13+
dataObject.Add("Rotation", new DataElement(transform.rotation));
14+
}
15+
16+
[Load]
17+
public void Load(DataObject dataObject)
18+
{
19+
transform.position = dataObject.Get<DataElement>("Position").ToObject<Vector3>();
20+
transform.rotation = dataObject.Get<DataElement>("Rotation").ToObject<Quaternion>();
21+
}
22+
}
23+
}

Assets/Kekser/SaveSystem/SavableComponents/SavableTransform.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Kekser/SaveSystem/SaveLoadKeyInput.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
using UnityEngine;
1+
using System;
2+
using UnityEngine;
23

34
namespace Kekser.SaveSystem
45
{
56
public class SaveLoadKeyInput : MonoBehaviour
67
{
7-
[SerializeField]
8-
private string _savePath = Application.persistentDataPath + "/save.sav";
9-
8+
[SerializeField]
9+
private string _savePath;
10+
11+
private void Reset()
12+
{
13+
_savePath = Application.persistentDataPath + "/save.sav";
14+
}
15+
1016
private void Update()
1117
{
1218
if (Input.GetKeyDown(KeyCode.F5))

Assets/Kekser/SaveSystem/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "com.kekser.savesystem",
33
"displayName": "SaveSystem",
44
"author": { "name": "Kekser", "url": "https://github.com/DerKekser" },
5-
"version": "1.0.0",
5+
"version": "1.1.0",
66
"unity": "2020.3",
77
"description": "A save system for unity.",
88
"keywords": [ "save", "load" ],

0 commit comments

Comments
 (0)