feat: 优化存档管理,添加异步加载槽位摘要功能,减少主菜单等待时间
This commit is contained in:
@@ -82,6 +82,9 @@ namespace BaseGames.Equipment
|
||||
{
|
||||
data.Tools.ToolSlot0 = _slots[0]?.toolId;
|
||||
data.Tools.ToolSlot1 = _slots[1]?.toolId;
|
||||
// 持久化剩余使用次数(-1 = 无限,保持原值)
|
||||
data.Tools.ToolStates["Slot0_Uses"] = Newtonsoft.Json.Linq.JObject.FromObject(new { uses = _remainingUses[0] });
|
||||
data.Tools.ToolStates["Slot1_Uses"] = Newtonsoft.Json.Linq.JObject.FromObject(new { uses = _remainingUses[1] });
|
||||
}
|
||||
|
||||
public void OnLoad(SaveData data)
|
||||
@@ -90,6 +93,12 @@ namespace BaseGames.Equipment
|
||||
|
||||
EquipTool(0, _toolCatalog.Find(data.Tools.ToolSlot0));
|
||||
EquipTool(1, _toolCatalog.Find(data.Tools.ToolSlot1));
|
||||
|
||||
// 恢复剩余使用次数(EquipTool 会重置为 maxUses,此处覆盖还原)
|
||||
if (data.Tools.ToolStates.TryGetValue("Slot0_Uses", out var uses0))
|
||||
_remainingUses[0] = uses0["uses"]?.Value<int>() ?? _remainingUses[0];
|
||||
if (data.Tools.ToolStates.TryGetValue("Slot1_Uses", out var uses1))
|
||||
_remainingUses[1] = uses1["uses"]?.Value<int>() ?? _remainingUses[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user