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:
71
SVSim.BattleEngine/Engine/Wizard/LootBoxDialogUtility.cs
Normal file
71
SVSim.BattleEngine/Engine/Wizard/LootBoxDialogUtility.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
|
||||
namespace Wizard;
|
||||
|
||||
public static class LootBoxDialogUtility
|
||||
{
|
||||
private const int LOOT_BOX_DIALOG_DEPTH = 3000;
|
||||
|
||||
public static void CreateLootBoxRegulationDialog(PlayerStaticData.LootBoxType type)
|
||||
{
|
||||
string key;
|
||||
string key2;
|
||||
switch (type)
|
||||
{
|
||||
default:
|
||||
return;
|
||||
case PlayerStaticData.LootBoxType.GACHA:
|
||||
key = "Dia_LootBox_002_Title";
|
||||
key2 = "Dia_LootBox_002_Body";
|
||||
break;
|
||||
case PlayerStaticData.LootBoxType.TWOPICK:
|
||||
key = "Dia_LootBox_003_Title";
|
||||
key2 = "Dia_LootBox_003_Body";
|
||||
break;
|
||||
case PlayerStaticData.LootBoxType.SEALED:
|
||||
key = "Dia_LootBox_Sealed_Title";
|
||||
key2 = "Dia_LootBox_Sealed_Body";
|
||||
break;
|
||||
case PlayerStaticData.LootBoxType.COLOSSEUM:
|
||||
key = "Dia_LootBox_004_Title";
|
||||
key2 = "Dia_LootBox_004_Body";
|
||||
break;
|
||||
case PlayerStaticData.LootBoxType.COMPETITION:
|
||||
key = "Dia_LootBox_Competition_Title";
|
||||
key2 = "Dia_LootBox_Competition_Body";
|
||||
break;
|
||||
case PlayerStaticData.LootBoxType.SPECIAL_CRYSTAL:
|
||||
key = "Dia_LootBox_005_Title";
|
||||
key2 = "Dia_LootBox_005_Body";
|
||||
break;
|
||||
}
|
||||
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
|
||||
dialogBase.SetSize(DialogBase.Size.S);
|
||||
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.OkBtn);
|
||||
dialogBase.SetPanelDepth(3000);
|
||||
dialogBase.SetTitleLabel(Data.SystemText.Get(key));
|
||||
dialogBase.SetText(Data.SystemText.Get(key2));
|
||||
}
|
||||
|
||||
public static void CreatePurchaseNotificationLootBoxDialog(string titleLabel, string itemText, Action onClickPayment, Action onClickCancel)
|
||||
{
|
||||
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
|
||||
dialogBase.SetSize(DialogBase.Size.M);
|
||||
dialogBase.SetTitleLabel(titleLabel);
|
||||
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.BlueBtn_CancelBtn);
|
||||
dialogBase.SetButtonText(Data.SystemText.Get("Dia_BuyCrystal_004_Button"));
|
||||
dialogBase.SetPanelDepth(3000);
|
||||
dialogBase.onPushButton1 = onClickPayment;
|
||||
dialogBase.onPushButton2 = onClickCancel;
|
||||
string text = Data.SystemText.Get("Dia_LootBox_001", itemText);
|
||||
if (PlayerStaticData.IsLootBoxRegulation(PlayerStaticData.LootBoxType.GACHA))
|
||||
{
|
||||
text = text + "\n" + Data.SystemText.Get("Dia_LootBox_Item_001");
|
||||
}
|
||||
if (PlayerStaticData.IsLootBoxRegulation(PlayerStaticData.LootBoxType.TWOPICK) || PlayerStaticData.IsLootBoxRegulation(PlayerStaticData.LootBoxType.SEALED) || PlayerStaticData.IsLootBoxRegulation(PlayerStaticData.LootBoxType.COLOSSEUM) || PlayerStaticData.IsLootBoxRegulation(PlayerStaticData.LootBoxType.COMPETITION))
|
||||
{
|
||||
text = text + "\n" + Data.SystemText.Get("Dia_LootBox_Item_002");
|
||||
}
|
||||
dialogBase.SetText(text);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user