Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard.BattleMgr/RecoveryNetworkBattleMgrContentsCreator.cs
gamer147 824309ec44 feat(battle-engine): close the AI-simulation subsystem (verbatim)
Copied the 89 uncopied AI*SimulationUtility/extension files defining the
AIVirtualCard/AIVirtualField extension methods; the compile loop then auto-closed
the revealed type deps (~3049 files total, drift-clean). 10.0k -> 62 errors.
2026-06-05 20:30:59 -04:00

69 lines
2.5 KiB
C#

using Wizard.Battle.Phase;
using Wizard.Battle.Recovery;
using Wizard.Battle.Replay;
using Wizard.Battle.Resource;
using Wizard.Battle.View.Vfx;
namespace Wizard.BattleMgr;
public class RecoveryNetworkBattleMgrContentsCreator : IBattleMgrContentsCreator
{
public int RandomSeed => Data.BattleRecoveryInfo.seed;
public IRecoveryManager RecoveryManager { get; protected set; }
public IRecoveryRecordManager RecoveryRecordManager { get; private set; }
public IReplayRecordManager ReplayRecordManager { get; private set; }
public RecoveryController RecoveryControllerInstance { get; private set; }
public RecoveryNetworkBattleMgrContentsCreator()
{
RecoveryManager = new NetworkBattleRecoveryManager();
RecoveryRecordManager = new NullRecoveryRecordManager();
ReplayRecordManager = new ReplayRecordManager();
RecoveryControllerInstance = new RecoveryController(GameMgr.GetIns().IsAINetwork ? new RecoveryOperationInfo(OperationRecorderBase.RecordDirectoryPath + "recovery_ai_network.json") : null);
RecoveryControllerInstance.OnFinishRecoveryLogSync += delegate
{
if (GameMgr.GetIns().IsAINetwork)
{
RecoveryRecordManager = new AINetworkBattleRecoveryRecordManager("recovery_ai_network.json");
BattleManagerBase.GetIns().StartRecoveryRecording();
}
else
{
RecoveryRecordManager = new NetworkBattleRecoveryRecordManager();
ToolboxGame.RealTimeNetworkAgent.StartRecoveryRecording();
}
};
}
public IBattleResourceMgr CreateResourceMgr()
{
if (RecoveryControllerInstance.IsMariganFinished || (GameMgr.GetIns().IsAINetwork && RecoveryControllerInstance.AIBattleRecoveryData.SetupInfo.HasMulliganInfo))
{
RecoveryBattleResourceMgr recoveryBattleResourceMgr = new RecoveryBattleResourceMgr();
RecoveryControllerInstance.OnFinishRecoveringData += recoveryBattleResourceMgr.EnableLoadResouce;
return recoveryBattleResourceMgr;
}
return new BattleResourceMgr();
}
public VfxMgr CreateVfxMgr()
{
return new VfxMgr();
}
public IPhaseCreator CreatePhaseCreator(BattleManagerBase battleMgr)
{
battleMgr.IsRecovery = true;
NetworkBattleManagerBase battleMgr2 = (NetworkBattleManagerBase)battleMgr;
if (RecoveryControllerInstance.IsMariganFinished || (GameMgr.GetIns().IsAINetwork && RecoveryControllerInstance.AIBattleRecoveryData.SetupInfo.HasMulliganInfo))
{
return new RecoveryNetworkBattleMainPhaseCreator(battleMgr2);
}
return new RecoveryNetworkBattleMulliganPhaseCreator(battleMgr2);
}
}