feat(battle-engine): M1 auto-copy closure (782 battle-logic files)
Compile-driven bulk-copy loop (tools/engine-port/m1_copy_loop.py) pulled the precise reference closure of the battle-core roots, stopping at the classify god-object/View-VFX-UI boundary. 782 files; no re-explosion (M0 had estimated ~order 1000). Residual frontier = 52 shim-classified + 80 external (Unity/BCL) types to author next.
This commit is contained in:
104
SVSim.BattleEngine/Engine/ReceiveIntervalTrigger.cs
Normal file
104
SVSim.BattleEngine/Engine/ReceiveIntervalTrigger.cs
Normal file
@@ -0,0 +1,104 @@
|
||||
using Wizard;
|
||||
|
||||
public class ReceiveIntervalTrigger
|
||||
{
|
||||
private const float RECOVER_INTERVAL_FROM_OPPODISCONNECT = 3f;
|
||||
|
||||
public virtual void ReceiveDataCheck(NetworkBattleManagerBase networkBattleManager, NetworkBattleData networkBattleData, bool isPlayer, bool isExTurn)
|
||||
{
|
||||
NetworkBattleReceiver.ReceiveData receiveData = networkBattleData.GetReceiveData();
|
||||
if (IsEffectiveURI(receiveData.dataUri))
|
||||
{
|
||||
if (isPlayer)
|
||||
{
|
||||
networkBattleManager.disconnectToDispChecker.EraseDisp();
|
||||
}
|
||||
else
|
||||
{
|
||||
networkBattleManager.judgeResultFailedToRetryChecker.StopChecker();
|
||||
}
|
||||
if (receiveData.dataUri != NetworkBattleDefine.NetworkBattleURI.RecoveryStart)
|
||||
{
|
||||
if (isPlayer)
|
||||
{
|
||||
if (networkBattleManager.recoveryToDispChecker != null && networkBattleManager.recoveryToDispChecker.isDisp)
|
||||
{
|
||||
networkBattleManager.recoveryToDispChecker.EraseDisp();
|
||||
}
|
||||
}
|
||||
else if (networkBattleManager.opponentRecoveryToDispChecker != null && networkBattleManager.opponentRecoveryToDispChecker.isDisp)
|
||||
{
|
||||
networkBattleManager.opponentRecoveryToDispChecker.EraseDisp();
|
||||
}
|
||||
}
|
||||
}
|
||||
switch (receiveData.dataUri)
|
||||
{
|
||||
case NetworkBattleDefine.NetworkBattleURI.Ready:
|
||||
networkBattleManager.notMulliganEndToJudgeChecker.StopChecker();
|
||||
if (!ToolboxGame.RealTimeNetworkAgent.GetTurnState())
|
||||
{
|
||||
networkBattleManager.opponentNotTurnStartToWinChecker.StartChecker();
|
||||
}
|
||||
break;
|
||||
case NetworkBattleDefine.NetworkBattleURI.TurnStart:
|
||||
networkBattleManager.opponentNotTurnEndToWinChecker.StartChecker();
|
||||
networkBattleManager.opponentNotTurnStartToWinChecker.StopChecker();
|
||||
networkBattleManager.notTurnEndToLoseChecker.StopChecker();
|
||||
break;
|
||||
case NetworkBattleDefine.NetworkBattleURI.TurnEnd:
|
||||
networkBattleManager.opponentNotTurnEndToWinChecker.StopChecker();
|
||||
if (networkBattleManager.BattleEnemy.IsExtraTurn)
|
||||
{
|
||||
networkBattleManager.opponentNotTurnStartToWinChecker.StartChecker();
|
||||
}
|
||||
else
|
||||
{
|
||||
networkBattleManager.notTurnStartToLoseChecker.StartChecker();
|
||||
}
|
||||
break;
|
||||
case NetworkBattleDefine.NetworkBattleURI.Judge:
|
||||
if (isExTurn)
|
||||
{
|
||||
networkBattleManager.notTurnStartToLoseChecker.StartChecker();
|
||||
}
|
||||
break;
|
||||
case NetworkBattleDefine.NetworkBattleURI.RecoveryStart:
|
||||
if (receiveData.isSelf)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (isPlayer)
|
||||
{
|
||||
if (networkBattleManager.recoveryToDispChecker != null && !networkBattleManager.recoveryToDispChecker.isDisp)
|
||||
{
|
||||
networkBattleManager.recoveryToDispChecker.CreateDisp();
|
||||
}
|
||||
break;
|
||||
}
|
||||
networkBattleManager.opponentNotTurnStartToWinChecker.SetTimeoutTime(isExtend: true);
|
||||
networkBattleManager.opponentNotTurnEndToWinChecker.SetTimeoutTime(isExtend: true);
|
||||
if (!networkBattleManager.opponentRecoveryToDispChecker.isDisp)
|
||||
{
|
||||
networkBattleManager.opponentRecoveryToDispChecker.CreateDisp();
|
||||
}
|
||||
break;
|
||||
case NetworkBattleDefine.NetworkBattleURI.RecoveryEnd:
|
||||
if (!isPlayer)
|
||||
{
|
||||
networkBattleManager.opponentNotTurnStartToWinChecker.SetTimeoutTime(isExtend: false);
|
||||
networkBattleManager.opponentNotTurnEndToWinChecker.SetTimeoutTime(isExtend: false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsEffectiveURI(NetworkBattleDefine.NetworkBattleURI uri)
|
||||
{
|
||||
if (uri == NetworkBattleDefine.NetworkBattleURI.TurnStart || uri == NetworkBattleDefine.NetworkBattleURI.TurnEndActions || uri == NetworkBattleDefine.NetworkBattleURI.TurnEnd || uri == NetworkBattleDefine.NetworkBattleURI.PlayActions || uri == NetworkBattleDefine.NetworkBattleURI.BattleFinish || uri == NetworkBattleDefine.NetworkBattleURI.TurnEndFinal || uri == NetworkBattleDefine.NetworkBattleURI.JudgeResult || uri == NetworkBattleDefine.NetworkBattleURI.Retire || uri == NetworkBattleDefine.NetworkBattleURI.RecoveryStart || uri == NetworkBattleDefine.NetworkBattleURI.RecoveryEnd)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user