Files
SVSimServer/SVSim.BattleEngine/Engine/NewReplayOperateReceive.cs
gamer147 957af3d1ec feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
2026-06-05 17:22:20 -04:00

313 lines
13 KiB
C#

public class NewReplayOperateReceive : OperateReceive
{
private bool _isFirstMulligan = true;
public NewReplayOperateReceive(NetworkBattleManagerBase networkBattleMgr, RegisterActionManager registerCardList, OperateMgr operateMgr, NetworkBattleData networkBattleData)
: base(networkBattleMgr, registerCardList, operateMgr, networkBattleData)
{
}
protected override PlayHandCardReflection CreateNetworkPlayCardAction()
{
return new ReplayPlayCardAction(_battleMgr, _operateMgr, _networkBattleData);
}
protected override InPlayCardReflection CreateNetworkInPlayAction()
{
return new ReplayInPlayAction(_battleMgr, _operateMgr);
}
public void StartReplayOperate(NewReplayOperationCollection networkOperationCollection, NetworkBattleReceiver.ReplayReceiveData receiveData)
{
switch (receiveData.Operation)
{
case NetworkBattleReceiver.ReplayOperationType.MulliganStart:
networkOperationCollection.DealOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.MulliganEnd:
if (_isFirstMulligan)
{
_isFirstMulligan = false;
networkOperationCollection.SwapOperation(OnReceiveOpponentMulligan, OnReceivePlayerMulligan);
}
else
{
_isFirstMulligan = true;
networkOperationCollection.SecondMulliganOperation(OnReceiveOpponentMulligan, OnReceivePlayerMulligan, OnEndMulligan);
}
break;
case NetworkBattleReceiver.ReplayOperationType.TurnStart:
networkOperationCollection.TurnStartOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.TurnStartFinish:
networkOperationCollection.TurnStartFinishOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.TurnEnd:
networkOperationCollection.TurnEndOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.TurnEndFinish:
networkOperationCollection.TurnEndFinishOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.AddPpTotal:
networkOperationCollection.AddPpTotalOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.AddPp:
networkOperationCollection.AddPpOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.AddBp:
networkOperationCollection.AddBpOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.AddEp:
networkOperationCollection.AddEpOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.SetEp:
networkOperationCollection.SetEpOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Draw:
networkOperationCollection.DrawCardOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.TokenDraw:
networkOperationCollection.TokenDrawCardOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.CreateReservedCard:
networkOperationCollection.CreateReservedCardOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Play:
if (receiveData.IsChoiceBraveData)
{
networkOperationCollection.PlayChoiceBraveCardOperation();
}
else
{
networkOperationCollection.PlayHandCardOperation();
}
break;
case NetworkBattleReceiver.ReplayOperationType.ShowWhenPlayEffect:
networkOperationCollection.ShowWhenPlayEffectOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.SummonToken:
networkOperationCollection.SummonTokenOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.SummonCard:
networkOperationCollection.SummonCardOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.AttackStart:
networkOperationCollection.AttackStartOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Attack:
networkOperationCollection.AttackOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.CostChange:
networkOperationCollection.CostChangeOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.RemoveCostChange:
networkOperationCollection.RemoveCostChangeOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.PowerUp:
networkOperationCollection.PowerUpOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.GainPowerDown:
networkOperationCollection.GainPowerDownOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.SetPowerDown:
networkOperationCollection.SetPowerDownOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.DepriveBuff:
networkOperationCollection.DepriveBuffOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.SpellCharge:
networkOperationCollection.SpellChargeOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Damage:
networkOperationCollection.DamageOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Heal:
networkOperationCollection.HealOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Discard:
networkOperationCollection.DiscardOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.DestroyOrBanish:
networkOperationCollection.DestroyOrBanishOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Evolve:
networkOperationCollection.EvolveOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.SkillEvolve:
networkOperationCollection.SkillEvolveOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Return:
networkOperationCollection.ReturnOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.StartSelect:
networkOperationCollection.StartSelectOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Select:
networkOperationCollection.SelectOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.CompSelect:
networkOperationCollection.CompleteSelectOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.CancelSelect:
networkOperationCollection.CancelSelectOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.StartChoice:
networkOperationCollection.StartChoiceOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.CompChoice:
networkOperationCollection.CompleteChoiceOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.CancelChoice:
networkOperationCollection.CancelChoiceOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.StartFusion:
networkOperationCollection.StartFusionOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.SelectFusion:
networkOperationCollection.SelectFusionOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.CompFusion:
networkOperationCollection.CompleteFusionOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.CancelFusion:
networkOperationCollection.CancelFusionOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.ChantCountChange:
networkOperationCollection.ChantCountChangeOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.ChangeWhiteRitualStack:
networkOperationCollection.ChangeWhiteRitualStackOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Necromance:
networkOperationCollection.Necromance();
break;
case NetworkBattleReceiver.ReplayOperationType.ChangeMaxAttackableCount:
networkOperationCollection.ChangeMaxAttackableCountOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateDeck:
networkOperationCollection.UpdateDeckOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.IndexChange:
networkOperationCollection.IndexChangeOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Metamorphose:
networkOperationCollection.MetamorphoseOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Geton:
networkOperationCollection.GetonOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Getoff:
networkOperationCollection.GetoffOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.Unite:
networkOperationCollection.UniteOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.OpenCard:
networkOperationCollection.OpenCardOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.AttachSkill:
networkOperationCollection.ShowSkillEffectOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.ShowSkillEffect:
networkOperationCollection.ShowSkillEffectOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.ShowSkillInductionEffect:
networkOperationCollection.ShowSkillInductionEffect();
break;
case NetworkBattleReceiver.ReplayOperationType.ShowIndependentEffect:
networkOperationCollection.ShowIndependentEffect();
break;
case NetworkBattleReceiver.ReplayOperationType.ChangeAffiliation:
networkOperationCollection.ChangeAffiliationOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.OnChangeUnionBurstAndSkyboundArt:
networkOperationCollection.ShowChangeUnionBurstAndSkyboundArtEffect();
break;
case NetworkBattleReceiver.ReplayOperationType.ShowRepeatSkillEffect:
networkOperationCollection.ShowRepeatSkillEffect();
break;
case NetworkBattleReceiver.ReplayOperationType.GiveCantActivateFanfare:
networkOperationCollection.GiveCantActivateFanfareOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.DepriveCantActivateFanfare:
networkOperationCollection.DepriveCantActivateFanfareOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.LoseSkill:
networkOperationCollection.LoseSkillOperation();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateHandInfo:
networkOperationCollection.UpdateHandInfo();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateChoiceBraveButtonEffet:
networkOperationCollection.UpdateChoiceBraveButtonEffet();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateInplayInfo:
networkOperationCollection.UpdateInplayInfo();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateDeckInfo:
networkOperationCollection.UpdateDeckInfo();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateAttachedCardInfo:
networkOperationCollection.UpdateAttachedCardInfo();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateFusionCardInfo:
networkOperationCollection.UpdateFusionCardInfo();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateStatusPanel:
networkOperationCollection.UpdateStatusPanel();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateBattleInfo:
networkOperationCollection.UpdateBattleLog();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateClassInfoUi:
networkOperationCollection.UpdateClassInfoUi();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateMyRotationBonus:
networkOperationCollection.UpdateMyRotationBonus();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateAvatarBattleDescInfo:
networkOperationCollection.UpdateAvatarBattleDescValueList();
break;
case NetworkBattleReceiver.ReplayOperationType.UpdateAttackableEffect:
networkOperationCollection.UpdateAttackableEffect();
break;
case NetworkBattleReceiver.ReplayOperationType.SkillProcessStart:
networkOperationCollection.SkillProcessStart();
break;
case NetworkBattleReceiver.ReplayOperationType.SkillVfxStart:
networkOperationCollection.SkillVfxStart();
break;
case NetworkBattleReceiver.ReplayOperationType.SkillVfxEnd:
networkOperationCollection.SkillVfxEnd();
break;
case NetworkBattleReceiver.ReplayOperationType.ClearSideLog:
networkOperationCollection.ClearSideLog();
break;
case NetworkBattleReceiver.ReplayOperationType.ClearDestroyedCardList:
networkOperationCollection.ClearDestroyedCardList();
break;
case NetworkBattleReceiver.ReplayOperationType.PlayEmotion:
networkOperationCollection.PlayEmotion();
break;
case NetworkBattleReceiver.ReplayOperationType.AttachShortageDeckWin:
networkOperationCollection.AttachShortageDeckWin();
break;
case NetworkBattleReceiver.ReplayOperationType.ShortageDeckWin:
networkOperationCollection.ShortageDeckWin();
break;
case NetworkBattleReceiver.ReplayOperationType.ShortageDeckLose:
networkOperationCollection.ShortageDeckLose();
break;
case NetworkBattleReceiver.ReplayOperationType.SpecialWin:
networkOperationCollection.SpecialWin();
break;
case NetworkBattleReceiver.ReplayOperationType.SpecialLose:
networkOperationCollection.SpecialLose();
break;
case NetworkBattleReceiver.ReplayOperationType.BattleFinish:
networkOperationCollection.BattleFinish();
break;
}
}
}