using System;
using Cute;

namespace Wizard;

public class Matching_Competition : Matching
{
	public Matching_Competition()
	{
		errorDialogReturnText = Data.SystemText.Get("Sealed_BattleResult_0001");
	}

	public override void DoMatching(Action onFinished, int need_init, DO_MATCHING_LOG log)
	{
		base.DoMatching(onFinished, need_init, log);
		CompetitionBattleDoMatchingTask task = new CompetitionBattleDoMatchingTask(selectDeckID, need_init, (int)log);
		ConnectAPI(task, delegate
		{
			if (Data.DoMatchingDetail.data.matchingState != 3009)
			{
				DoMatchingResultSetting();
				onFinished.Call();
			}
		});
	}

	protected override void TimeOutMessageToRetry()
	{
		SystemText systemText = Data.SystemText;
		ErrorDialogWithRetry(systemText.Get("Battle_0461"), systemText.Get("Battle_0412"));
		Data.ArenaData.CompetitionData.IsRankMatching = false;
	}

	public override FinishTaskBase GetBattleFinishTask()
	{
		return new CompetitionBattleFinishTask();
	}

	protected override void GotoDeckSelectScene()
	{
		UIManager uiMgr = UIManager.GetInstance();
		UIManager.ChangeViewSceneParam param = new UIManager.ChangeViewSceneParam
		{
			OnFinishChangeView = delegate
			{
				uiMgr.CloseInSceneLoadingMatching();
				uiMgr.CloseInSceneLoadingBattle();
			}
		};
		uiMgr.ChangeViewScene(UIManager.ViewScene.CompetitionLobby, param);
	}
}
