feat(upserver): 接入认证与KV存档并完成限定钓鱼闭环

This commit is contained in:
Liubing\LB
2026-09-28 18:14:01 +08:00
parent f40a816cc4
commit 0eb43b2b40
129 changed files with 11612 additions and 573 deletions

View File

@@ -27,6 +27,26 @@ namespace Script.RuntimeScript
private DiggingGameModel _dataModel;
public DiggingGameModel DataModel => _dataModel;
internal static game.PlayerDataStorage.PlayerKVEmptyModuleState DecodeForKVLoad() =>
game.PlayerDataStorage.PlayerKVEmptyModuleState.Instance;
internal bool CanResetForKVLoad => _monoBehaviour==null && _digAni==null && _cameraVir==null && _tables==null &&
fx_DgSanddig==null && fx_DgSanddighard==null && fx_DgSanddisappear==null && diggingMoveCurve==null &&
_broadLogic==null && _broadContainer==null && _gridContianer==null && _gridPropContianer==null &&
_propContainer==null && _showPropPositon==null && _explosionManager==null && sanddig_dig_sound==null &&
sanddig_dig_audio==null && sanddig_dighard_audio==null && _fxRoot==null && _onCloseAwardPanel==null &&
(_dataModel==null || (_dataModel.CurActivityId==0 && _dataModel.digActivityConfig==null && _dataModel.AllClamps.Count==0));
internal void ResetForKVLoad()
{
if(!CanResetForKVLoad) throw new InvalidOperationException("KV digging module is active.");
_dataModel=new DiggingGameModel(); _broadLogic=null; _gameState=SandDigGameState.Normal;
IsCanClick=true; ClampIsPass=false; itemDatas=new List<ItemData>(); _awardPanelIsOpen=false;
}
internal void ReplaceFromKVDecoded(game.PlayerDataStorage.PlayerKVEmptyModuleState state)
{
if(state==null) throw new ArgumentNullException(nameof(state));
if(!CanResetForKVLoad || _dataModel==null) throw new InvalidOperationException("KV digging reset required.");
}
private Animation _digAni;
private CinemachineVirtualCamera _cameraVir;
@@ -785,4 +805,4 @@ namespace Script.RuntimeScript
Special,
None
}
}
}