Files

15 lines
506 B
C#
Raw Permalink Normal View History

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);
}