Files
TheriapolisV3/Theriapolis.Core/Persistence/SaveMigrations/V7ToV8Migration.cs
T

28 lines
1.1 KiB
C#
Raw Normal View History

namespace Theriapolis.Core.Persistence.SaveMigrations;
/// <summary>
/// Phase 7 M0 — additive migration from save schema v7 (Phase 6.5 ship) to
/// v8 (Phase 7 dungeons). Non-destructive: every v7 field carries over
/// unchanged. Phase 7 reserves three new save sections — anchors, building
/// deltas, and per-PoI dungeon state — but ships M0 with the version bump
/// only; the fields default-initialise to empty and a v7 save loads as
/// "no anchors persisted, no buildings modified, no dungeons visited"
/// which is the truth for any pre-Phase-7 save.
///
/// Subsequent Phase 7 milestones (M1+) will populate these sections;
/// the migration stays additive throughout.
/// </summary>
public sealed class V7ToV8Migration : ISaveMigration
{
public int FromVersion => 7;
public int ToVersion => 8;
public void Apply(SaveHeader header, SaveBody body)
{
// No data translation needed. Phase 7's new save sections
// (TAG_ANCHORS / TAG_BUILDINGS / TAG_DUNGEONS) default to empty in
// SaveBody and SaveCodec uses the established EOS-check pattern
// for additive sections. Pure version bump.
}
}