| | |
| | | public void ClearMainRedpoint() |
| | | { |
| | | hasShowedMainRedpoint = true; |
| | | mainRedpoint.state = RedPointState.None; |
| | | UpdateRedpoint(); |
| | | } |
| | | |
| | | private bool HasShopFreeItem() |
| | |
| | | /// <summary>宝库奖励类型ID (对应CA504的RewardType)</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; |
| | |
| | | { |
| | | 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(); |
| | | } |
| | |
| | | } |
| | | #endregion |
| | | } |
| | | |
| | | public class GuildAtkDefBatTreasureRecord |
| | | { |
| | | public int AwardID; |
| | | public string PlayerName; |
| | | } |