87 lines
2.2 KiB
C#
87 lines
2.2 KiB
C#
// Copyright (c) Pixel Crushers. All rights reserved.
|
|
|
|
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
namespace PixelCrushers
|
|
{
|
|
|
|
/// <summary>
|
|
/// Provides Save System UnityEvents.
|
|
/// </summary>
|
|
[AddComponentMenu("")] // Use wrapper instead.
|
|
public class SaveSystemEvents : MonoBehaviour
|
|
{
|
|
|
|
public UnityEvent onSaveStart = new UnityEvent();
|
|
public UnityEvent onSaveEnd = new UnityEvent();
|
|
public UnityEvent onLoadStart = new UnityEvent();
|
|
public UnityEvent onLoadEnd = new UnityEvent();
|
|
public UnityEvent onSaveDataApplied = new UnityEvent();
|
|
public UnityEvent onSceneLoad = new UnityEvent();
|
|
|
|
private void OnEnable()
|
|
{
|
|
UnregisterEvents();
|
|
RegisterEvents();
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
UnregisterEvents();
|
|
}
|
|
|
|
private void RegisterEvents()
|
|
{
|
|
SaveSystem.saveStarted += OnSaveStarted;
|
|
SaveSystem.saveEnded += OnSaveEnded;
|
|
SaveSystem.loadStarted += OnLoadStarted;
|
|
SaveSystem.loadEnded += OnLoadEnded;
|
|
SaveSystem.saveDataApplied += OnSaveDataApplied;
|
|
SaveSystem.sceneLoaded += OnSceneLoaded;
|
|
}
|
|
|
|
private void UnregisterEvents()
|
|
{
|
|
SaveSystem.saveStarted -= OnSaveStarted;
|
|
SaveSystem.saveEnded -= OnSaveEnded;
|
|
SaveSystem.loadStarted -= OnLoadStarted;
|
|
SaveSystem.loadEnded -= OnLoadEnded;
|
|
SaveSystem.saveDataApplied -= OnSaveDataApplied;
|
|
SaveSystem.sceneLoaded -= OnSceneLoaded;
|
|
}
|
|
|
|
private void OnSaveStarted()
|
|
{
|
|
onSaveStart.Invoke();
|
|
}
|
|
|
|
private void OnSaveEnded()
|
|
{
|
|
onSaveEnd.Invoke();
|
|
}
|
|
|
|
private void OnLoadStarted()
|
|
{
|
|
onLoadStart.Invoke();
|
|
}
|
|
|
|
private void OnLoadEnded()
|
|
{
|
|
onLoadEnd.Invoke();
|
|
}
|
|
|
|
private void OnSaveDataApplied()
|
|
{
|
|
onSaveDataApplied.Invoke();
|
|
}
|
|
|
|
private void OnSceneLoaded(string sceneName, int sceneIndex)
|
|
{
|
|
onSceneLoad.Invoke();
|
|
}
|
|
}
|
|
|
|
}
|