feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
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.
This commit is contained in:
116
SVSim.BattleEngine/Engine/Wizard/InCompleteDeckDecideDialog.cs
Normal file
116
SVSim.BattleEngine/Engine/Wizard/InCompleteDeckDecideDialog.cs
Normal file
@@ -0,0 +1,116 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user