BITFALL/Assets/BITKit/Core/PersistentData/PersistentDataService.cs

46 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
namespace BITKit
{
/// <summary>
/// 持久化数据服务
/// </summary>
public interface IPersistentDataService
{
public void Register(IPersistentCallback callback);
public void Unregister(IPersistentCallback callback);
public void ManualSave();
public void ManualLoad();
public void ManualLoad(string json);
}
public interface IPersistentCallback
{
string Name { get; }
void Load(string json);
string Save();
}
public class PersistentDataService : IPersistentDataService
{
private readonly List<IPersistentCallback> callbacks = new();
public void Register(IPersistentCallback callback) => callbacks.Add(callback);
public void Unregister(IPersistentCallback callback) => callbacks.Remove(callback);
public void ManualSave()
{
throw new NotImplementedException();
}
public void ManualLoad()
{
throw new NotImplementedException();
}
public void ManualLoad(string json)
{
throw new NotImplementedException();
}
}
}