mirror of
https://github.com/project-redbud/FunGame-Core.git
synced 2025-12-05 00:06:02 +00:00
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)
|
if (item.Skills.Active != null)
|
||||||
{
|
{
|
||||||
item.Skills.Active.Level = copyLevel ? (Skills.Active?.Level ?? 1) : 1;
|
item.Skills.Active.Level = copyLevel ? (Skills.Active?.Level ?? 1) : 1;
|
||||||
|
item.Skills.Active.Guid = item.Guid;
|
||||||
}
|
}
|
||||||
foreach (Skill skill in Skills.Passives)
|
foreach (Skill skill in Skills.Passives)
|
||||||
{
|
{
|
||||||
Skill newskill = skill.Copy();
|
Skill newskill = skill.Copy();
|
||||||
newskill.Item = item;
|
newskill.Item = item;
|
||||||
newskill.Level = copyLevel ? skill.Level : 1;
|
newskill.Level = copyLevel ? skill.Level : 1;
|
||||||
|
newskill.Guid = item.Guid;
|
||||||
item.Skills.Passives.Add(newskill);
|
item.Skills.Passives.Add(newskill);
|
||||||
}
|
}
|
||||||
foreach (Skill skill in Skills.Magics)
|
foreach (Skill skill in Skills.Magics)
|
||||||
@ -605,6 +607,7 @@ namespace Milimoe.FunGame.Core.Entity
|
|||||||
Skill newskill = skill.Copy();
|
Skill newskill = skill.Copy();
|
||||||
newskill.Item = item;
|
newskill.Item = item;
|
||||||
newskill.Level = copyLevel ? skill.Level : 1;
|
newskill.Level = copyLevel ? skill.Level : 1;
|
||||||
|
newskill.Guid = item.Guid;
|
||||||
item.Skills.Magics.Add(newskill);
|
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.ExCritDMG), value.ExCritDMG);
|
||||||
writer.WriteNumber(nameof(Character.ExEvadeRate), value.ExEvadeRate);
|
writer.WriteNumber(nameof(Character.ExEvadeRate), value.ExEvadeRate);
|
||||||
writer.WritePropertyName(nameof(Character.Skills));
|
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));
|
writer.WritePropertyName(nameof(Character.Items));
|
||||||
JsonSerializer.Serialize(writer, value.Items, options);
|
JsonSerializer.Serialize(writer, value.Items, options);
|
||||||
writer.WriteEndObject();
|
writer.WriteEndObject();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user