using System;
using Cute;
using Wizard;

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

	public override void DoMatching(Action onFinished, int need_init, DO_MATCHING_LOG log)
	{
		base.DoMatching(onFinished, need_init, log);
		ColosseumDoMatchingTask colosseumDoMatchingTask = new ColosseumDoMatchingTask();
		colosseumDoMatchingTask.SetParameter(selectDeckID, need_init, (int)log);
		ConnectAPI(colosseumDoMatchingTask, 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"));
		Data.ArenaData.ColosseumData.IsRankMatching = false;
	}

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

	protected override void OnFailed(int code)
	{
		if (code != 3)
		{
			base.OnFailed(code);
		}
	}

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