15 lines
506 B
C#
15 lines
506 B
C#
|
|
namespace Theriapolis.Core.Persistence;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Modules that own save-worthy state implement this interface.
|
||
|
|
/// CaptureState produces a serializable snapshot; RestoreState applies one
|
||
|
|
/// over the live module. Phase 5/6 add new persistables (faction/quest/rep)
|
||
|
|
/// without churning the SaveBody schema, by adding new IPersistable types
|
||
|
|
/// and one new field on SaveBody.
|
||
|
|
/// </summary>
|
||
|
|
public interface IPersistable<TState>
|
||
|
|
{
|
||
|
|
TState CaptureState();
|
||
|
|
void RestoreState(TState state);
|
||
|
|
}
|