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.
110 lines
3.9 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|