using System; using Cute; using UnityEngine; namespace Wizard; public class StarterPurchaseConfirmationDialog : MonoBehaviour { [SerializeField] private UILabel _packPriceLabel; [SerializeField] private UILabel _packConfirmLabel; [SerializeField] private UILabel _currentClassLabel; [SerializeField] private UILabel _labelAfterItemUnit; [SerializeField] private UILabel _cautionLabel; [SerializeField] private UILabel _haveCrystalBefore; [SerializeField] private UILabel _haveCrystalAfter; [SerializeField] private UILabel _freePackBeforeCountLabel; [SerializeField] private UILabel _freePackAfterCountLabel; [SerializeField] private UIButton _jpnLawButton; [SerializeField] private UILabel _saleTimeLabel; [SerializeField] private UISprite _jpaLawLine; [SerializeField] private GameObject _crystalLayoutRoot; [SerializeField] private UILabel _freePackTitleLabel; [SerializeField] private GameObject _freeBuyLayoutRoot; [SerializeField] private CenteringUIWidget _freeCountCenter; [SerializeField] private UITable _freeCountTable; [SerializeField] private UIScrollBar _scrollBar; [SerializeField] private UIScrollView _scrollView; public void Init(DialogBase inDialog, int selectedClassId, PackConfig packConfig, PackChildGachaInfo info, Action onPurchase) { inDialog.SetSize(DialogBase.Size.M); inDialog.SetTitleLabel(packConfig.Title); inDialog.SetButtonLayout(DialogBase.ButtonLayout.BlueBtn_CancelBtn); SetTextAndLabels(inDialog, selectedClassId, packConfig, info); inDialog.onPushButton1 = delegate { onPurchase.Call(packConfig, info, 10, null, (CardBasePrm.ClanType)selectedClassId, null); }; inDialog.ClickSe_Btn1 = Se.TYPE.SYS_BTN_DECIDE_TRANS; _jpnLawButton.onClick.Add(new EventDelegate(delegate { GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_COMMON_BUTTON); UIManager.GetInstance().WebViewHelper.OpenWebView(WebViewHelper.WebViewType.LEGALTEXT); })); _jpaLawLine.gameObject.SetActive(value: true); if (packConfig.ExpirtyInfo.IsEnableText) { _saleTimeLabel.text = packConfig.ExpirtyInfo.GetText(); } else { _saleTimeLabel.gameObject.SetActive(value: false); } _crystalLayoutRoot.SetActive(!info.IsFreePack); _freeBuyLayoutRoot.SetActive(info.IsFreePack); if (info.IsFreePack) { int num = info.AvailableCount / info.PackCountBuyPer; _freePackBeforeCountLabel.text = num.ToString(); _freePackAfterCountLabel.text = (num - 1).ToString(); _freePackTitleLabel.text = Data.SystemText.Get("Shop_0224"); _freePackTitleLabel.ProcessText(); _freeCountTable.Reposition(); _freeCountCenter.Reposition(); } _jpnLawButton.gameObject.SetActive(value: false); _saleTimeLabel.gameObject.SetActive(value: false); _jpaLawLine.gameObject.SetActive(value: false); _scrollBar.gameObject.SetActive(value: false); _scrollView.enabled = false; } private void SetTextAndLabels(DialogBase inDialog, int selectedClassId, PackConfig packConfig, PackChildGachaInfo info) { int num = 10 * info.Cost; inDialog.SetButtonText(Data.SystemText.Get("Shop_0082")); string clanNameByKey = GameMgr.GetIns().GetDataMgr().GetClanNameByKey(selectedClassId); _packPriceLabel.text = Data.SystemText.Get("Shop_0241", num.ToString()); _packConfirmLabel.text = Data.SystemText.Get("Shop_0242", packConfig.Title); _currentClassLabel.text = Data.SystemText.Get("Shop_0243", clanNameByKey); _cautionLabel.text = Data.SystemText.Get("Shop_0244", clanNameByKey); _labelAfterItemUnit.text = Data.SystemText.Get("Card_0100"); int userCrystalCount = PlayerStaticData.UserCrystalCount; int num2 = userCrystalCount - 10 * info.Cost; _haveCrystalBefore.text = userCrystalCount.ToString(); _haveCrystalAfter.text = num2.ToString(); } }