完善抽卡界面以及根据优化意见和功能缺失做出调整

This commit is contained in:
YiHan0621
2025-10-13 01:41:20 +08:00
parent 2e4a318ca3
commit f14b8d6ac6
14 changed files with 702 additions and 304 deletions

View File

@@ -19,9 +19,12 @@ namespace TcgEngine.UI
[Header("货币")]
public Text coin;
public Text crystal;
[Header("当前选择准备卡组")]
public Toggle standard_toggle;
public Toggle elite_toggle;
public PackData preparePack;
public PackBuyPanel packBuyPanel;
private List<GameObject> pack_list = new List<GameObject>();
@@ -40,6 +43,15 @@ namespace TcgEngine.UI
protected override void Start()
{
base.Start();
if (standard_toggle != null)
standard_toggle.onValueChanged.AddListener(OnToggleStandard);
if (elite_toggle != null)
elite_toggle.onValueChanged.AddListener(OnToggleElite);
// 默认设置卡组
OnToggleStandard(standard_toggle.isOn);
}
protected override void Update()
@@ -80,10 +92,6 @@ namespace TcgEngine.UI
pack_ui.onClick += OnClickPack;
pack_ui.onClickRight += OnClickPack;
pack_list.Add(nPack);
if (pack.title == "白银卡包")
{
SetPackData(pack);
}
}
}
@@ -100,16 +108,6 @@ namespace TcgEngine.UI
}
}
private void OnClickPack()
{
if (preparePack != null)
{
PackZoomPanel.Get().OnClickBuy(preparePack);
}
}
/// <summary>
/// 刷新货币
/// </summary>
@@ -118,20 +116,6 @@ namespace TcgEngine.UI
coin.text = MainMenu.Get().credits_txt.text;
crystal.text = MainMenu.Get().crystalText.text;
}
/// <summary>
/// 设置即将打开卡包的数据
/// </summary>
private string SetPackData(PackData pack)
{
PlayerPrefs.SetString("SetPack",pack.id);
if (PlayerPrefs.GetString("SetPack") != null)
{
string setPack = PlayerPrefs.GetString("SetPack");
Debug.Log($"已设置{setPack},准备就绪");
}
return PlayerPrefs.GetString("SetPack");
}
public void OnClickPack(PackUI pack)
{
@@ -147,6 +131,35 @@ namespace TcgEngine.UI
{
MainMenu.Get().FadeToScene("OpenPack");
}
private void OnToggleStandard(bool value)
{
if (value)
{
// 设置当前卡组为标准卡组
preparePack = PackData.Get("standard");
SetBuyPack("standard");
Debug.Log("当前选择标准卡组");
}
}
private void OnToggleElite(bool value)
{
if (value)
{
// 设置当前卡组为精英卡组
preparePack = PackData.Get("elite");
SetBuyPack("elite");
Debug.Log("当前选择精英卡组");
}
}
private void SetBuyPack(string packId)
{
packBuyPanel.SetPack(packId);
PlayerPrefs.SetString("pack_id", packId);
}
public override void Show(bool instant = false)
{