Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/LootBoxDialogUtility.cs
gamer147 957af3d1ec 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.
2026-06-05 17:22:20 -04:00

72 lines
2.6 KiB
C#

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);
}
}