Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/SelectCardPurchaseConfirmDialog.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

110 lines
3.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
namespace Wizard;
public class SelectCardPurchaseConfirmDialog : MonoBehaviour
{
private const int SKIN_WARNING_LINE_BOTTOM_ANCHOR_ABSOLUTE = -43;
private const int SKIN_WARNING_LINE_TOP_ANCHOR_ABSOLUTE = -35;
[SerializeField]
private UIScrollView _scrollView;
[SerializeField]
private PurchaseConfirm _objPurchaseConfirm;
[SerializeField]
private UILabel _listHeaderLabel;
[SerializeField]
private UILabel _labelSelectCardList;
[SerializeField]
private UILabel _labelAcquiredSkinWarning;
[SerializeField]
private UISprite _spriteLine;
private DialogBase _dialog;
public static void Create(PackConfig packConfig, PackChildGachaInfo gachaInfo, int buyPackNum, List<int> selectCardIdList, Action onDecide, bool isAcquireSkinCardPack, bool hasTargetSkin = false)
{
DialogBase dialog = UIManager.GetInstance().CreateDialogClose();
(UnityEngine.Object.Instantiate(Resources.Load("UI/layoutParts/Dialog/SelectCardPurchaseConfirmDialog")) as GameObject).GetComponent<SelectCardPurchaseConfirmDialog>().Initialize(dialog, packConfig, gachaInfo, buyPackNum, selectCardIdList, onDecide, isAcquireSkinCardPack, hasTargetSkin);
}
private void Initialize(DialogBase dialog, PackConfig packConfig, PackChildGachaInfo gachaInfo, int buyPackNum, List<int> selectCardIdList, Action onDecide, bool isAcquireSkinCardPack, bool hasTargetSkin)
{
_dialog = dialog;
InitDialog(onDecide);
SetPurchaseConfirm(packConfig, gachaInfo, buyPackNum);
string key = (isAcquireSkinCardPack ? "Shop_0259" : "Shop_0199");
_listHeaderLabel.text = Data.SystemText.Get(key);
SetSelectCardList(selectCardIdList, hasTargetSkin);
_scrollView.ResetPosition();
}
private void InitDialog(Action onDecide)
{
_dialog.SetSize(DialogBase.Size.M);
_dialog.SetButtonLayout(DialogBase.ButtonLayout.BlueBtn_CancelBtn);
_dialog.SetButtonText(Data.SystemText.Get("Shop_0082"));
_dialog.ClickSe_Btn1 = Se.TYPE.SYS_BTN_DECIDE_TRANS;
_dialog.SetButtonDelegate(delegate
{
onDecide();
});
_dialog.SetPanelDepth(100);
_dialog.SetObj(base.gameObject);
}
private void SetPurchaseConfirm(PackConfig packConfig, PackChildGachaInfo gachaInfo, int buyPackNum)
{
_dialog.SetTitleLabel(packConfig.Title);
int useItemNum = gachaInfo.Cost * buyPackNum;
string purchaseText = Data.SystemText.Get("Shop_0101", packConfig.Title);
_objPurchaseConfirm.SetClystalConfirmDialog(useItemNum, purchaseText, PlayerStaticData.UserCrystalCount, packConfig.ExpirtyInfo);
if (packConfig.GachaPointData != null)
{
GachaPointData gachaPointData = packConfig.GachaPointData;
int num = gachaPointData.IncreaseGachaPoint;
if (gachaInfo.OverrideIncreaseGachaPoint > 0)
{
num = gachaInfo.OverrideIncreaseGachaPoint;
}
int num2 = (packConfig.IsSpecialCardPack ? num : (num * buyPackNum));
StartCoroutine(_objPurchaseConfirm.SetCardPackPoint(gachaPointData.GachaPoint, gachaPointData.GachaPoint + num2));
}
}
private void SetSelectCardList(List<int> selectCardIdList, bool hasTargetSkin)
{
if (selectCardIdList.Count == 0)
{
_labelSelectCardList.gameObject.SetActive(value: false);
}
_labelSelectCardList.gameObject.SetActive(value: true);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < selectCardIdList.Count; i++)
{
if (i > 0)
{
stringBuilder.Append("\n");
}
stringBuilder.Append(UserGoods.getUserGoodsName(UserGoods.Type.Card, selectCardIdList[i]));
}
_labelSelectCardList.text = stringBuilder.ToString();
if (hasTargetSkin)
{
_labelAcquiredSkinWarning.gameObject.SetActive(value: true);
_labelAcquiredSkinWarning.text = Data.SystemText.Get("Shop_0166");
_spriteLine.bottomAnchor.absolute = -43;
_spriteLine.topAnchor.absolute = -35;
}
}
}