From ad2daf1c55ff5bb9209cb9ac3048c5b613db5552 Mon Sep 17 00:00:00 2001 From: Chomper9981 Date: Mon, 13 Apr 2026 16:02:05 +0700 Subject: [PATCH] fix Item not reset after reopen dlg award --- .../Scripts/UI/DlgAward/AwardItem.cs | 28 +++++++++++++++++-- .../Scripts/UI/DlgAward/CDlgAward.cs | 10 ++++++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/UI/DlgAward/AwardItem.cs b/Assets/PerfectWorld/Scripts/UI/DlgAward/AwardItem.cs index b1e1eaed1d..8d1eacd02e 100644 --- a/Assets/PerfectWorld/Scripts/UI/DlgAward/AwardItem.cs +++ b/Assets/PerfectWorld/Scripts/UI/DlgAward/AwardItem.cs @@ -25,6 +25,11 @@ namespace BrewMonster.Scripts.UI public void SetImage(Sprite sprite) { + if (img == null) + { + return; + } + img.enabled = sprite != null; img.sprite = sprite; } @@ -36,7 +41,11 @@ namespace BrewMonster.Scripts.UI public void SetColor(Color color) { - // TODO : Set color to relevant UI components + if (img == null) + { + return; + } + img.color = color; } public void SetHint(string text) @@ -44,9 +53,24 @@ namespace BrewMonster.Scripts.UI txtHint = text; } + /// + /// Reset slot when this cell has no award (e.g. dialog reopened with fewer items). + /// 清空格子:再次打开奖励界面时清除上一轮的图标与点击逻辑。 + /// public void ClearCover() { - // TODO : Implement cover clearing functionality + if (img != null) + { + img.sprite = null; + img.enabled = false; + img.color = Color.white; + } + if (btn != null) + { + btn.onClick.RemoveAllListeners(); + } + txtHint = string.Empty; + isOn = false; } public void Show(bool show) diff --git a/Assets/PerfectWorld/Scripts/UI/DlgAward/CDlgAward.cs b/Assets/PerfectWorld/Scripts/UI/DlgAward/CDlgAward.cs index 2f43f22e63..ed78151793 100644 --- a/Assets/PerfectWorld/Scripts/UI/DlgAward/CDlgAward.cs +++ b/Assets/PerfectWorld/Scripts/UI/DlgAward/CDlgAward.cs @@ -59,6 +59,14 @@ namespace BrewMonster.Scripts.UI { toggle.isOn = false; } + if (itemInfoPanel != null) + { + itemInfoPanel.SetActive(false); + } + if (descriptionOutlet != null) + { + descriptionOutlet.Set(string.Empty); + } _btnClose.onClick.AddListener(OnCloseDlgAward); } @@ -214,7 +222,7 @@ namespace BrewMonster.Scripts.UI // sprintf(out szName, "Item_%02d01", i); // pImage = (PAUIIMAGEPICTURE)GetDlgItem(szName); // if (!pImage) break; // All done. - pImage = GetAwardItemAt(i, i); + pImage = GetAwardItemAt(i, 1); if (!pImage) break; // sprintf(out szName, "Rdo_Award%d", i);