Files
Fishing2/Assets/Obvious/Soap/Examples/Content/Scripts/SaveManager.cs
2026-01-01 23:09:08 +08:00

37 lines
1.1 KiB
C#

using UnityEngine;
namespace Obvious.Soap.Example
{
[HelpURL("https://obvious-game.gitbook.io/soap/scene-documentation/5_scriptablesaves/save-manager")]
public class SaveManager : MonoBehaviour
{
[SerializeField] private ScriptableSaveExample _scriptableSaveExample;
[SerializeField] private IntVariable _levelVariable;
private void Awake()
{
_scriptableSaveExample.OnLoaded += SetLevelValue;
_scriptableSaveExample.OnSaved += SetLevelValue;
}
//Load on start as other classes might register to OnLoaded in their Awake
private void Start()
{
if (_scriptableSaveExample.LoadMode == ScriptableSaveBase.ELoadMode.Manual)
_scriptableSaveExample.Load();
else
SetLevelValue();
}
private void OnDestroy()
{
_scriptableSaveExample.OnLoaded -= SetLevelValue;
_scriptableSaveExample.OnSaved -= SetLevelValue;
}
private void SetLevelValue()
{
_levelVariable.Value = _scriptableSaveExample.Level;
}
}
}