存档完善和修复

This commit is contained in:
2026-05-20 15:10:35 +08:00
parent 84528403ec
commit ec633d9b79
17 changed files with 254 additions and 67 deletions

View File

@@ -60,7 +60,7 @@ namespace BaseGames.Tests.EditMode
}
[Test]
public void Migrate_OldVersion_FillsPlayerDeathShade()
public void Migrate_OldVersion_DeathShade_RemainsNull()
{
var data = new SaveData();
data.Meta.Version = "1.0";
@@ -68,7 +68,8 @@ namespace BaseGames.Tests.EditMode
var result = SaveMigrator.Migrate(data);
Assert.IsNotNull(result.Player.DeathShade, "迁移后 DeathShade 不应为 null");
Assert.IsNull(result.Player.DeathShade,
"无遗骸时 DeathShade 应保持 null由 DeathShadeManager 按需创建");
}
[Test]
@@ -99,22 +100,18 @@ namespace BaseGames.Tests.EditMode
public void SaveData_SerializeDeserialize_PreservesPlayerData()
{
var original = new SaveData();
original.Player.CurrentHP = 55;
original.Player.MaxHP = 100;
original.Player.CurrentHP = 55;
original.Player.MaxHP = 100;
original.Player.CurrentLingZhu = 1234;
original.Player.Scene = "TestRoom";
original.Player.PosX = 3.14f;
original.Player.PosY = -2.71f;
original.Player.Scene = "TestRoom";
string json = JsonConvert.SerializeObject(original, Formatting.None);
var restored = JsonConvert.DeserializeObject<SaveData>(json);
Assert.AreEqual(original.Player.CurrentHP, restored.Player.CurrentHP);
Assert.AreEqual(original.Player.MaxHP, restored.Player.MaxHP);
Assert.AreEqual(original.Player.CurrentHP, restored.Player.CurrentHP);
Assert.AreEqual(original.Player.MaxHP, restored.Player.MaxHP);
Assert.AreEqual(original.Player.CurrentLingZhu, restored.Player.CurrentLingZhu);
Assert.AreEqual(original.Player.Scene, restored.Player.Scene);
Assert.AreEqual(original.Player.PosX, restored.Player.PosX, 0.0001f);
Assert.AreEqual(original.Player.PosY, restored.Player.PosY, 0.0001f);
Assert.AreEqual(original.Player.Scene, restored.Player.Scene);
}
[Test]