chore(m2): 保存功能验收及后续清理前检查点
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using asap.core;
|
||||
using cfg;
|
||||
using GameCore;
|
||||
@@ -12,32 +12,13 @@ namespace game
|
||||
{
|
||||
[asap.core.Inject] public game.PlayerDataStorage.IPlayerSaveStore SaveStore { get; set; }
|
||||
|
||||
private readonly EventPinataPackData _kvTarget;
|
||||
private EventPinataPackDataManager(EventPinataPackData target) { _kvTarget=target; }
|
||||
internal static EventPinataPackDataManager CreateForKVLoad()
|
||||
{
|
||||
var target=GContext.container.Resolve<EventPinataPackData>();
|
||||
if(target==null) throw new System.InvalidOperationException("KV Pinata target is not registered.");
|
||||
return new EventPinataPackDataManager(target);
|
||||
}
|
||||
private EventPinataPackData RequireKVTarget()
|
||||
{
|
||||
var target=GContext.container.Resolve<EventPinataPackData>();
|
||||
if(target==null || (_kvTarget!=null && !ReferenceEquals(target,_kvTarget)))
|
||||
throw new System.InvalidOperationException("KV Pinata target changed.");
|
||||
return target;
|
||||
}
|
||||
internal static PlayerDataStorage.PlayerKVPinataState DecodeForKVLoad(IReadOnlyDictionary<string,string> raw,
|
||||
PlayerDataStorage.PlayerKVSchemaDiagnostics errors) => PlayerDataStorage.PlayerKVSaveSchema.DecodePinata(raw,errors);
|
||||
internal void ResetForKVLoad()
|
||||
{
|
||||
var target=RequireKVTarget(); target.EventID=0; target.PinataMainID=0; target.PurchasedCount=0;
|
||||
}
|
||||
internal void ReplaceFromKVDecoded(PlayerDataStorage.PlayerKVPinataState state)
|
||||
{
|
||||
if(state==null) throw new System.ArgumentNullException(nameof(state));
|
||||
var target=RequireKVTarget(); target.EventID=state.EventID; target.PinataMainID=state.PinataMainID; target.PurchasedCount=state.PurchasedCount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if UNITY_EDITOR
|
||||
private bool m_IsCheckCondition = true;
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user