From 82e8a3f6ff7aaec06d1b60463a545a8bb031f546 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 10 六月 2026 18:15:39 +0800
Subject: [PATCH] 588 公会攻防战 修复若干bug
---
Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureWin.cs | 2 +-
Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs | 23 +++++++++++++++++------
Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureGrid.cs | 10 ++++++++--
Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureCell.cs | 15 +++++++++++----
4 files changed, 37 insertions(+), 13 deletions(-)
diff --git a/Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs b/Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs
index 18c3de8..f61d1a1 100644
--- a/Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs
+++ b/Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs
@@ -476,7 +476,7 @@
public void ClearMainRedpoint()
{
hasShowedMainRedpoint = true;
- mainRedpoint.state = RedPointState.None;
+ UpdateRedpoint();
}
private bool HasShopFreeItem()
@@ -761,8 +761,8 @@
/// <summary>瀹濆簱濂栧姳绫诲瀷ID (瀵瑰簲CA504鐨凴ewardType)</summary>
public const byte TREASURE_REWARD_TYPE = 11;
- /// <summary>缂撳瓨鏍煎瓙寮�鍚褰�: Key=鏍煎瓙缂栧彿(1~n), Value=AwardID</summary>
- public Dictionary<int, int> treasureGridRecords = new Dictionary<int, int>();
+ /// <summary>缂撳瓨鏍煎瓙寮�鍚褰�: Key=鏍煎瓙缂栧彿(1~n), Value=寮�鍚褰�</summary>
+ public Dictionary<int, GuildAtkDefBatTreasureRecord> treasureGridRecords = new Dictionary<int, GuildAtkDefBatTreasureRecord>();
/// <summary>鏍囪瀹濆簱绐楀彛鏄惁鎵撳紑,鐢ㄤ簬鏀跺埌A525鏃惰嚜鍔ㄥ埛鏂�</summary>
public bool isTreasureWinOpen = false;
@@ -787,17 +787,22 @@
{
if (mem.GridNum > 0)
{
- treasureGridRecords[mem.GridNum] = mem.AwardID;
+ treasureGridRecords[mem.GridNum] = new GuildAtkDefBatTreasureRecord
+ {
+ AwardID = mem.AwardID,
+ PlayerName = UIHelper.ServerStringTrim(mem.Name),
+ };
}
}
if (isTreasureWinOpen)
{
int openGrid = pendingOpenGridIndex;
- if (openGrid > 0 && treasureGridRecords.TryGetValue(openGrid, out var awardID))
+ GuildAtkDefBatTreasureRecord treasureRecord;
+ if (openGrid > 0 && treasureGridRecords.TryGetValue(openGrid, out treasureRecord))
{
pendingOpenGridIndex = 0;
- OnTreasureGridOpenEvent?.Invoke(openGrid, awardID);
+ OnTreasureGridOpenEvent?.Invoke(openGrid, treasureRecord.AwardID);
}
OnTreasureDataUpdateEvent?.Invoke();
}
@@ -1010,3 +1015,9 @@
}
#endregion
}
+
+public class GuildAtkDefBatTreasureRecord
+{
+ public int AwardID;
+ public string PlayerName;
+}
diff --git a/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureCell.cs b/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureCell.cs
index c21298a..732791a 100644
--- a/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureCell.cs
+++ b/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureCell.cs
@@ -11,9 +11,9 @@
/// <param name="startIndex">璧峰鏍煎瓙搴忓彿(浠�1寮�濮�)</param>
/// <param name="gridCount">鎬绘牸瀛愭暟</param>
/// <param name="isWin">鏄惁鑳滃埄</param>
- /// <param name="openedGrids">宸插紑鍚殑鏍煎瓙瀛楀吀 Key=鏍煎瓙缂栧彿, Value=AwardID</param>
+ /// <param name="openedGrids">宸插紑鍚殑鏍煎瓙瀛楀吀 Key=鏍煎瓙缂栧彿, Value=寮�鍚褰�</param>
/// <param name="openAnimGridIndex">鎾斁寮�鍚姩鐢荤殑鏍煎瓙缂栧彿(0=鏃�)</param>
- public void SetData(int startIndex, int gridCount, bool isWin, Dictionary<int, int> openedGrids, int openAnimGridIndex = 0)
+ public void SetData(int startIndex, int gridCount, bool isWin, Dictionary<int, GuildAtkDefBatTreasureRecord> openedGrids, int openAnimGridIndex = 0)
{
for (int i = 0; i < grids.Length; i++)
{
@@ -22,9 +22,16 @@
{
grids[i].SetActive(true);
int awardID = 0;
- bool isOpened = openedGrids != null && openedGrids.TryGetValue(gridIndex, out awardID);
+ string playerName = string.Empty;
+ GuildAtkDefBatTreasureRecord treasureRecord = null;
+ bool isOpened = openedGrids != null && openedGrids.TryGetValue(gridIndex, out treasureRecord);
+ if (isOpened && treasureRecord != null)
+ {
+ awardID = treasureRecord.AwardID;
+ playerName = treasureRecord.PlayerName;
+ }
bool playAnim = openAnimGridIndex > 0 && gridIndex == openAnimGridIndex;
- grids[i].Init(gridIndex, isWin, isOpened, (ushort)awardID, playAnim);
+ grids[i].Init(gridIndex, isWin, isOpened, (ushort)awardID, playerName, playAnim);
}
else
{
diff --git a/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureGrid.cs b/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureGrid.cs
index 360acdd..c84768f 100644
--- a/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureGrid.cs
+++ b/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureGrid.cs
@@ -28,6 +28,7 @@
private int gridIndex;
private bool isOpened;
private ushort awardID;
+ private string playerName;
/// <summary>
/// 鍒濆鍖栨牸瀛�
@@ -36,12 +37,14 @@
/// <param name="isWin">鏄惁鑳滃埄</param>
/// <param name="opened">鏄惁宸插紑鍚�</param>
/// <param name="awardId">濂栧姳ID(宸插紑鍚椂鏈夋晥)</param>
+ /// <param name="name">寮�鍚牸瀛愮殑鐜╁鍚�</param>
/// <param name="playOpenAnim">鏄惁鎾斁寮�鍚姩鐢�(缈荤墝鐮寸鐗规晥)</param>
- public void Init(int index, bool isWin, bool opened, ushort awardId, bool playOpenAnim = false)
+ public void Init(int index, bool isWin, bool opened, ushort awardId, string name, bool playOpenAnim = false)
{
gridIndex = index;
isOpened = opened;
awardID = awardId;
+ playerName = name;
// 鏍煎瓙搴忓彿
topNumText.text = index.ToString();
@@ -85,6 +88,10 @@
topNumText.SetActive(!isOpened);
qualityImage.SetActive(isOpened);
+ itemImage.SetActive(isOpened);
+ itemCntText.text = string.Empty;
+ itemNameText.text = isOpened ? playerName : string.Empty;
+
if (isOpened && awardID > 0)
{
var config = FamilyAtkDefBatTreasureConfig.Get(awardID);
@@ -95,7 +102,6 @@
{
itemImage.SetItemSprite(config.ItemID);
itemCntText.text = config.ItemCount > 1 ? $"x{config.ItemCount}" : string.Empty;
- itemNameText.text = itemConfig.ItemName;
}
qualityImage.SetSprite($"GuildAtkDefBatTreasureAwardColor{config.AwardColor}");
diff --git a/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureWin.cs b/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureWin.cs
index f4e02c0..e147392 100644
--- a/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureWin.cs
+++ b/Main/System/GuildAtkDefBat/GuildAtkDefBatTreasureWin.cs
@@ -32,7 +32,7 @@
awardButton.AddListener(() =>
{
- UIManager.Instance.OpenWindow<GuildAtkDefBatAwardPreviewWin>();
+ UIManager.Instance.OpenWindow<GuildAtkDefBatAwardPreviewWin>(1);
});
lastLineButton.AddListener(() =>
--
Gitblit v1.8.0