using System; using System.Collections.Generic; using System.Linq; using Cute; using UnityEngine; using Wizard; using Wizard.DeckCardEdit; using Wizard.Dialog.Setting; public class DeckCreateMenuUI : MonoBehaviour { private enum DeckCopyCodeType { } [SerializeField] private UIButton _btnCamera; [SerializeField] private UIButton _btnLibrary; [SerializeField] private ItemToggle _foilPreferred; [SerializeField] private ItemToggle _isPrizePreferred; [SerializeField] private UISprite _centerSeparatorLine; private DialogBase _parentDialog; private Format _format; private ConventionDeckList _conventionDeckList; private IFormatBehavior _formatBehavior; private Action _onStartChangeViewScene; public static void ShowDeckCreateMenu(DeckData deck, ConventionDeckList conventionDeckList, Action onStartChangeViewScene = null) { Format format = deck.Format; DeckCardEditUI.SetDeckEditParameter(deck, conventionDeckList); DeckCreateMenuUI menu = UnityEngine.Object.Instantiate(UIManager.GetInstance()._deckCreateMenuOriginal); UnityEngine.Object.Destroy(menu._btnCamera.gameObject); menu._btnLibrary.gameObject.transform.SetSiblingIndex(0); DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose(); dialogBase.SetTitleLabel(Data.SystemText.Get("Card_0108")); dialogBase.SetButtonLayout(DialogBase.ButtonLayout.CloseBtn); dialogBase.SetSize(DialogBase.Size.M); dialogBase.SetPanelDepth(10); if (conventionDeckList == null) { menu._foilPreferred.gameObject.SetActive(value: true); menu._foilPreferred.SetTitleLabel("プレミアムカード優先"); menu._foilPreferred.SetValue(Data.Load.data._userConfig.IsFoilPreferred); menu._foilPreferred.SetActive_SeparatorLine(isActive: true); menu._foilPreferred.AddChangeCallback(delegate { DeckCardEditUI.SendConfigUpdateFoilPreferred(menu._foilPreferred.GetValue()); }); menu._isPrizePreferred.gameObject.SetActive(value: true); menu._isPrizePreferred.SetTitleLabel("絵違いカード優先"); menu._isPrizePreferred.SetValue(Data.Load.data._userConfig.IsPrizePreferred); menu._isPrizePreferred.SetActive_SeparatorLine(isActive: true); menu._isPrizePreferred.AddChangeCallback(delegate { DeckCardEditUI.SendConfigUpdatePrizePreferred(menu._isPrizePreferred.GetValue()); }); } dialogBase.SetObj(menu.gameObject); if (conventionDeckList != null) { Vector3 localPosition = menu.transform.localPosition; localPosition.y = -70f; menu.transform.localPosition = localPosition; menu._centerSeparatorLine.gameObject.SetActive(value: false); } DeckCreateMenuUI component = menu.GetComponent(); component.SetParentDialog(dialogBase); component._format = format; component._conventionDeckList = conventionDeckList; component._formatBehavior = FormatBehaviorManager.Create(format, conventionDeckList); component._onStartChangeViewScene = onStartChangeViewScene; } private void SetParentDialog(DialogBase dialog) { _parentDialog = dialog; } }