chore(m2): 保存功能验收及后续清理前检查点

This commit is contained in:
Liubing\LB
2026-10-10 20:40:27 +08:00
parent d3c5394a55
commit 144e7f739f
110 changed files with 12672 additions and 7514 deletions

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using asap.core;
using cfg;
@@ -12,40 +12,13 @@ public class EventShootingRangeData : IChainPackData
private RawData _data = new RawData();
private bool _kvLoadPresent;
internal bool KVLoadPresent => _kvLoadPresent;
internal static game.PlayerDataStorage.PlayerKVShootingRangeState DecodeForKVLoad(
IReadOnlyDictionary<string, string> raw, game.PlayerDataStorage.PlayerKVSchemaSnapshot snapshot,
game.PlayerDataStorage.PlayerKVSchemaDiagnostics errors) =>
game.PlayerDataStorage.PlayerKVSaveSchema.DecodeShootingRange(raw, snapshot, errors);
internal void ResetForKVLoad()
{
_kvLoadPresent = false;
_data = default(RawData);
}
internal void ReplaceFromKVDecoded(game.PlayerDataStorage.PlayerKVShootingRangeState state)
{
if (state == null) throw new ArgumentNullException(nameof(state));
if (!state.IsPresent) { ResetForKVLoad(); return; }
var replacement = new RawData
{
EventId = state.EventId,
CycleId = state.CycleId,
RedirectId = state.RedirectId,
AmmoCount = state.AmmoCount,
CurrentStageIdx = state.CurrentStageIdx,
ChainProgress = state.ChainProgress,
RewardFlag = state.RewardFlag,
TargetFlag = state.TargetFlag,
HasBeenOpened = state.HasBeenOpened,
Inflation = state.Inflation,
};
_data = replacement;
_kvLoadPresent = true;
}
internal game.PlayerDataStorage.PlayerKVShootingRangeState SnapshotForKVValidation() =>
new game.PlayerDataStorage.PlayerKVShootingRangeState(_kvLoadPresent, _data.EventId, _data.CycleId, _data.RedirectId, _data.AmmoCount, _data.CurrentStageIdx, _data.ChainProgress, _data.RewardFlag, _data.TargetFlag, _data.HasBeenOpened, _data.Inflation);
private readonly Tables _tables = GContext.container.Resolve<Tables>();
private readonly TbPack _pack = GContext.container.Resolve<Tables>().TbPack;
private readonly TbEventPackManager _eventPackManager = GContext.container.Resolve<Tables>().TbEventPackManager;