using System; using Cute; public class OpponentNotTurnStartToWinChecker : NetworkBattleIntervalCheckerBase { private NetworkBattleManagerBase networkBattleManager; private const float SEND_TURN_END_TO_VICTORY_INTERVAL = 75f; private const float SEND_TURN_END_TO_VICTORY_RECOVERY_INTERVAL = 90f; private float _timeoutDisconnect; public event Action OnOpponentNotTurnStartToWin; public OpponentNotTurnStartToWinChecker(NetworkBattleManagerBase manager) { networkBattleManager = manager; _timeoutDisconnect = 75f; } public override void StartChecker(string log = "") { base.StartChecker(log); } public override void StopChecker() { base.StopChecker(); } public void SetTimeoutTime(bool isExtend) { if (isExtend) { _timeoutDisconnect = 90f; } else { _timeoutDisconnect = 75f; } } protected override void IntervalCheck() { base.IntervalCheck(); if (!networkBattleManager.disconnectToLoseChecker.IsDisconnect() && (float)NetworkUtility.GetTimeSpanSecond(base.startTick) >= _timeoutDisconnect) { this.OnOpponentNotTurnStartToWin.Call(); StopChecker(); } } }