将锁定加入序列化器

This commit is contained in:
milimoe 2025-07-04 19:37:57 +08:00
parent 160c691780
commit d4aa6adf97
Signed by: milimoe
GPG Key ID: 9554D37E4B8991D0
3 changed files with 11 additions and 2 deletions

View File

@ -237,7 +237,7 @@ namespace Milimoe.FunGame.Core.Entity
/// <param name="reference"></param> /// <param name="reference"></param>
/// <param name="newItemGuid"></param> /// <param name="newItemGuid"></param>
/// <param name="copyLevel"></param> /// <param name="copyLevel"></param>
/// <param name="inventory"></param> /// <param name="inventory">高危数据警告:传入此项会修改库存中物品的角色引用</param>
/// <param name="itemsDefined">对于动态扩展的物品而言,传入已定义的物品表,不使用被复制物品的数据</param> /// <param name="itemsDefined">对于动态扩展的物品而言,传入已定义的物品表,不使用被复制物品的数据</param>
/// <param name="skillsDefined">对于动态扩展的技能而言,传入已定义的技能表,不使用被复制技能的数据</param> /// <param name="skillsDefined">对于动态扩展的技能而言,传入已定义的技能表,不使用被复制技能的数据</param>
/// <param name="recovery"></param> /// <param name="recovery"></param>

View File

@ -435,7 +435,7 @@ namespace Milimoe.FunGame.Core.Entity
{ {
StringBuilder builder = new(); StringBuilder builder = new();
builder.AppendLine($"【{Name}】"); builder.AppendLine($"【{Name}】{(IsLock ? " []" : "")}");
string itemquality = ItemSet.GetQualityTypeName(QualityType); string itemquality = ItemSet.GetQualityTypeName(QualityType);
string itemtype = ItemSet.GetItemTypeName(ItemType) + (ItemType == ItemType.Weapon && WeaponType != WeaponType.None ? "-" + ItemSet.GetWeaponTypeName(WeaponType) : ""); string itemtype = ItemSet.GetItemTypeName(ItemType) + (ItemType == ItemType.Weapon && WeaponType != WeaponType.None ? "-" + ItemSet.GetWeaponTypeName(WeaponType) : "");
@ -568,6 +568,11 @@ namespace Milimoe.FunGame.Core.Entity
sellandtrade.Add("不可交易"); sellandtrade.Add("不可交易");
} }
if (IsLock)
{
builder.AppendLine("此物品已锁定");
}
if (sellandtrade.Count > 0) builder.AppendLine(string.Join(" ", sellandtrade).Trim()); if (sellandtrade.Count > 0) builder.AppendLine(string.Join(" ", sellandtrade).Trim());
if (Description != "") builder.AppendLine($"{Description}"); if (Description != "") builder.AppendLine($"{Description}");
if (IsEquipment && Character != null) builder.AppendLine($"装备于:{Character.ToStringWithLevelWithOutUser()}"); if (IsEquipment && Character != null) builder.AppendLine($"装备于:{Character.ToStringWithLevelWithOutUser()}");

View File

@ -56,6 +56,9 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
case nameof(Item.IsInGameItem): case nameof(Item.IsInGameItem):
result.IsInGameItem = reader.GetBoolean(); result.IsInGameItem = reader.GetBoolean();
break; break;
case nameof(Item.IsLock):
result.IsLock = reader.GetBoolean();
break;
case nameof(Item.Equipable): case nameof(Item.Equipable):
result.Equipable = reader.GetBoolean(); result.Equipable = reader.GetBoolean();
break; break;
@ -133,6 +136,7 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
writer.WriteNumber(nameof(Item.RarityType), (int)value.RarityType); writer.WriteNumber(nameof(Item.RarityType), (int)value.RarityType);
writer.WriteNumber(nameof(Item.RankType), (int)value.RankType); writer.WriteNumber(nameof(Item.RankType), (int)value.RankType);
writer.WriteBoolean(nameof(Item.IsInGameItem), value.IsInGameItem); writer.WriteBoolean(nameof(Item.IsInGameItem), value.IsInGameItem);
writer.WriteBoolean(nameof(Item.IsLock), value.IsLock);
writer.WriteBoolean(nameof(Item.Equipable), value.Equipable); writer.WriteBoolean(nameof(Item.Equipable), value.Equipable);
writer.WriteBoolean(nameof(Item.Unequipable), value.Unequipable); writer.WriteBoolean(nameof(Item.Unequipable), value.Unequipable);
writer.WriteNumber(nameof(Item.RemainUseTimes), value.RemainUseTimes); writer.WriteNumber(nameof(Item.RemainUseTimes), value.RemainUseTimes);