using System;
using Cute;

public class WatcherLeaveChecker : NetworkBattleIntervalCheckerBase
{
	private const float DISP_LEAVE_INTERVAL = 95f;

	public bool isDisp;

	private NetworkWatchBattleMgr WatchBattleMgr;

	public event Action OnDisp;

	public event Action OnErase;

	public void EraseDisp()
	{
		if (isDisp)
		{
			this.OnErase.Call();
			isDisp = false;
		}
	}

	protected override void IntervalCheck()
	{
		base.IntervalCheck();
		if ((float)NetworkUtility.GetTimeSpanSecond(base.startTick) >= 95f && WatchBattleMgr.disconnectDialog == null)
		{
			this.OnDisp.Call();
			isDisp = true;
			StopChecker();
		}
	}

	public override void FinishChecker()
	{
		base.FinishChecker();
		EraseDisp();
	}

	public void SetBattleMgr(NetworkWatchBattleMgr battleMgr)
	{
		WatchBattleMgr = battleMgr;
	}
}
