Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
117 lines
4.3 KiB
C#
117 lines
4.3 KiB
C#
using System;
|
|
using Cute;
|
|
using Wizard.DeckCardEdit;
|
|
|
|
namespace Wizard;
|
|
|
|
public static class InCompleteDeckDecideDialog
|
|
{
|
|
private const int DIALOG_PANEL_DEPTH = 100;
|
|
|
|
public static void Create(DialogBase dialogDeckList, DeckData deck, ConventionDeckList conventionDeckList = null, bool canUseNonPossessionCard = false, Action<UIManager.ViewScene> unusableDeckChangeViewSceneAction = null)
|
|
{
|
|
DeckData.UnusableReason reason;
|
|
if (deck.IsNoCard())
|
|
{
|
|
Action onStartChangeViewScene = delegate
|
|
{
|
|
dialogDeckList.CloseWithoutSelect();
|
|
};
|
|
DeckCreateMenuUI.ShowDeckCreateMenu(deck, conventionDeckList, onStartChangeViewScene);
|
|
}
|
|
else if (!deck.IsUsable(out reason, canUseNonPossessionCard))
|
|
{
|
|
CreateUnusableDeckDialog(deck, conventionDeckList, reason, unusableDeckChangeViewSceneAction, dialogDeckList);
|
|
}
|
|
}
|
|
|
|
private static void CreateUnusableDeckDialog(DeckData deck, ConventionDeckList conventionDeckList, DeckData.UnusableReason unusableReason, Action<UIManager.ViewScene> changeViewSceneAction, DialogBase dialogDeckList)
|
|
{
|
|
if (unusableReason == DeckData.UnusableReason.MaintenanceCard && deck.IsRentalDeck)
|
|
{
|
|
DialogBase dialogBase = UIManager.GetInstance().CreateConfirmationDialog(Data.SystemText.Get("Story_0060"));
|
|
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.CloseBtn);
|
|
dialogBase.SetTitleLabel(Data.SystemText.Get("System_0022"));
|
|
dialogBase.SetPanelDepth(100);
|
|
return;
|
|
}
|
|
(string, string) textsUnusableDeckDialog = GetTextsUnusableDeckDialog(unusableReason);
|
|
DialogBase dialogBase2 = UIManager.GetInstance().CreateDialogClose();
|
|
dialogBase2.SetTitleLabel(textsUnusableDeckDialog.Item1);
|
|
dialogBase2.SetText(textsUnusableDeckDialog.Item2);
|
|
dialogBase2.SetButtonLayout(DialogBase.ButtonLayout.BlueBtn_CancelBtn);
|
|
dialogBase2.SetButtonText(Data.SystemText.Get("Dia_DeckSelect_002_Button"));
|
|
dialogBase2.onPushButton1 = delegate
|
|
{
|
|
if (Data.MaintenanceCodeList.Contains(NetworkDefine.MAINTENANCE_TYPE.DECK_MAINTENANCE))
|
|
{
|
|
Toolbox.NetworkManager.NetworkUI.OpenEachFunctionMaintenancePopUp(2019);
|
|
}
|
|
else
|
|
{
|
|
DeckCardEditUI.SetDeckEditParameter(deck, conventionDeckList);
|
|
dialogDeckList.CloseWithoutSelect();
|
|
if (changeViewSceneAction != null)
|
|
{
|
|
changeViewSceneAction(UIManager.ViewScene.DeckCardEdit);
|
|
}
|
|
else
|
|
{
|
|
UIManager.ChangeViewSceneParam param = new UIManager.ChangeViewSceneParam
|
|
{
|
|
IsUpdateFooterMenuTexture = true
|
|
};
|
|
UIManager.GetInstance().ChangeViewScene(UIManager.ViewScene.DeckCardEdit, param);
|
|
}
|
|
}
|
|
};
|
|
dialogBase2.ClickSe_Btn1 = Se.TYPE.SYS_BTN_DECIDE_TRANS;
|
|
dialogBase2.SetPanelDepth(100);
|
|
}
|
|
|
|
private static (string title, string body) GetTextsUnusableDeckDialog(DeckData.UnusableReason unusableReason)
|
|
{
|
|
string item = string.Empty;
|
|
string item2 = string.Empty;
|
|
switch (unusableReason)
|
|
{
|
|
case DeckData.UnusableReason.MaintenanceCard:
|
|
item = Data.SystemText.Get("System_0022");
|
|
item2 = Data.SystemText.Get("System_0039");
|
|
break;
|
|
case DeckData.UnusableReason.FormatRestrictCard:
|
|
item = Data.SystemText.Get("Dia_DeckSelect_004_Title");
|
|
item2 = Data.SystemText.Get("Card_0192");
|
|
break;
|
|
case DeckData.UnusableReason.TooLittleCards:
|
|
item = Data.SystemText.Get("Dia_DeckSelect_002_Title");
|
|
item2 = Data.SystemText.Get("Card_0069");
|
|
break;
|
|
case DeckData.UnusableReason.TooMuchCards:
|
|
item = Data.SystemText.Get("Dia_DeckSelect_003_Title");
|
|
item2 = Data.SystemText.Get("Card_0140");
|
|
break;
|
|
case DeckData.UnusableReason.NonPossessionCard:
|
|
item = Data.SystemText.Get("Dia_DeckSelect_004_Title");
|
|
item2 = Data.SystemText.Get("Card_0254");
|
|
break;
|
|
case DeckData.UnusableReason.ShortageMainClassCards:
|
|
item = Data.SystemText.Get("Dia_DeckSelect_005_Title");
|
|
item2 = Data.SystemText.Get("Card_0289");
|
|
break;
|
|
case DeckData.UnusableReason.ShortageSubClassCards:
|
|
item = Data.SystemText.Get("Dia_DeckSelect_006_Title");
|
|
item2 = Data.SystemText.Get("Card_0290");
|
|
break;
|
|
case DeckData.UnusableReason.ShortageBothClassCards:
|
|
item = Data.SystemText.Get("Dia_DeckSelect_007_Title");
|
|
item2 = Data.SystemText.Get("Card_0291");
|
|
break;
|
|
case DeckData.UnusableReason.Unknown:
|
|
Debug.LogError("unknown deck unusable reason.");
|
|
break;
|
|
}
|
|
return (title: item, body: item2);
|
|
}
|
|
}
|