chore(m2): 保存功能验收及后续清理前检查点
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user