using System;
using Cute;
using Wizard;
using Wizard.Scripts.Network.Task.Arena.TwoPick;

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

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

	protected override void TimeOutMessageToRetry()
	{
		ErrorDialogWithRetry(Data.SystemText.Get("Battle_0461"), Data.SystemText.Get("Battle_0412"));
	}

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

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