forked from project-redbud/FunGame-Core
fix: 从存档读取出来的 Skills 可能没有绑定对应的 Item.Guid
This commit is contained in:
parent
1fbdae64fb
commit
1a6ed9c216
@ -592,12 +592,14 @@ namespace Milimoe.FunGame.Core.Entity
|
||||
if (item.Skills.Active != null)
|
||||
{
|
||||
item.Skills.Active.Level = copyLevel ? (Skills.Active?.Level ?? 1) : 1;
|
||||
item.Skills.Active.Guid = item.Guid;
|
||||
}
|
||||
foreach (Skill skill in Skills.Passives)
|
||||
{
|
||||
Skill newskill = skill.Copy();
|
||||
newskill.Item = item;
|
||||
newskill.Level = copyLevel ? skill.Level : 1;
|
||||
newskill.Guid = item.Guid;
|
||||
item.Skills.Passives.Add(newskill);
|
||||
}
|
||||
foreach (Skill skill in Skills.Magics)
|
||||
@ -605,6 +607,7 @@ namespace Milimoe.FunGame.Core.Entity
|
||||
Skill newskill = skill.Copy();
|
||||
newskill.Item = item;
|
||||
newskill.Level = copyLevel ? skill.Level : 1;
|
||||
newskill.Guid = item.Guid;
|
||||
item.Skills.Magics.Add(newskill);
|
||||
}
|
||||
}
|
||||
|
||||
@ -277,7 +277,7 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
|
||||
writer.WriteNumber(nameof(Character.ExCritDMG), value.ExCritDMG);
|
||||
writer.WriteNumber(nameof(Character.ExEvadeRate), value.ExEvadeRate);
|
||||
writer.WritePropertyName(nameof(Character.Skills));
|
||||
JsonSerializer.Serialize(writer, value.Skills, options);
|
||||
JsonSerializer.Serialize(writer, value.Skills.Where(s => s.Guid == Guid.Empty), options);
|
||||
writer.WritePropertyName(nameof(Character.Items));
|
||||
JsonSerializer.Serialize(writer, value.Items, options);
|
||||
writer.WriteEndObject();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user