using System; using Cute; using Wizard; public class Matching_Free : Matching { public const int PRE_ROTATION_PERIOD_ERROR = 3010; public override void DoMatching(Action onFinished, int need_init, DO_MATCHING_LOG log) { base.DoMatching(onFinished, need_init, log); FreeBattleDoMatchingTask freeBattleDoMatchingTask = new FreeBattleDoMatchingTask(); freeBattleDoMatchingTask.SetParameter(selectDeckID, need_init, (int)log); ConnectAPI(freeBattleDoMatchingTask, delegate { if (Data.DoMatchingDetail.data.matchingState != 3009) { DoMatchingResultSetting(); onFinished.Call(); } }); } protected override void OnFailed(int code) { if (GetLastResultCode() != 3010) { base.OnFailed(code); } } public override FinishTaskBase GetBattleFinishTask() { return new FreeBattleFinishTask(); } protected override void GotoDeckSelectScene() { UIManager.ChangeViewSceneParam changeViewSceneParam = new UIManager.ChangeViewSceneParam(); changeViewSceneParam.MyPageMenuIndex = 2; changeViewSceneParam.OnFinishChangeView = delegate { UIManager.GetInstance().CloseInSceneLoadingMatching(); UIManager.GetInstance().CloseInSceneLoadingBattle(); MyPageMenu.Instance.ChangeMenu(2); DeckInfoTask task = new DeckInfoTask(); task.SetParameter(Data.CurrentFormat); UIManager.GetInstance().StartCoroutine(Toolbox.NetworkManager.Connect(task, delegate { DeckSelectUIDialog.Create(Data.SystemText.Get("Battle_0005"), task.DeckGroupListData, Data.CurrentFormat, DeckSelectUIDialog.eFormatChangeUIType.SingleFormat, isVisibleCreateNew: true, delegate(DialogBase dialog, DeckData deckData) { FreeAndRankMatchDeckSelectConfirmDialog.Create(dialog, deckData, isBattleEnd: false); }); })); }; UIManager.GetInstance().ChangeViewScene(UIManager.ViewScene.MyPage, changeViewSceneParam); } }