From 135e7d9583473f22a56693cfeb459f0905c7396c Mon Sep 17 00:00:00 2001 From: hyeon Date: Fri, 12 Jul 2024 11:21:43 +0900 Subject: [PATCH] Use dict for season to remove duplicated season info --- .../AdventureBossRenderSubscriber.cs | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/NineChronicles.DataProvider/Subscriber/AdventureBossRenderSubscriber.cs b/NineChronicles.DataProvider/Subscriber/AdventureBossRenderSubscriber.cs index 68aa8278..911ad114 100644 --- a/NineChronicles.DataProvider/Subscriber/AdventureBossRenderSubscriber.cs +++ b/NineChronicles.DataProvider/Subscriber/AdventureBossRenderSubscriber.cs @@ -4,6 +4,7 @@ namespace NineChronicles.DataProvider { using System; using System.Collections.Generic; + using System.Linq; using System.Threading.Tasks; using Lib9c.Renderers; using Libplanet.Action.State; @@ -15,7 +16,7 @@ namespace NineChronicles.DataProvider public partial class RenderSubscriber { - private readonly List _adventureBossSeasonList = new (); + private readonly Dictionary _adventureBossSeasonDict = new (); private readonly List _adventureBossWantedList = new (); private readonly List _adventureBossChallengeList = new (); private readonly List _adventureBossRushList = new (); @@ -31,8 +32,8 @@ private void StoreAdventureBossList() tasks.Add(Task.Run(async () => { - Log.Debug($"[Adventure Boss] {_adventureBossSeasonList.Count} Season"); - await MySqlStore.StoreAdventureBossSeasonList(_adventureBossSeasonList); + Log.Debug($"[Adventure Boss] {_adventureBossSeasonDict.Count} Season"); + await MySqlStore.StoreAdventureBossSeasonList(_adventureBossSeasonDict.Values.ToList()); } )); @@ -82,7 +83,7 @@ private void StoreAdventureBossList() private void ClearAdventureBossList() { Log.Debug("[Adventure Boss] Clear adventure boss action lists"); - _adventureBossSeasonList.Clear(); + _adventureBossSeasonDict.Clear(); _adventureBossWantedList.Clear(); _adventureBossChallengeList.Clear(); _adventureBossRushList.Clear(); @@ -104,10 +105,10 @@ partial void SubscribeAdventureBossWanted(ActionEvaluation evt) Log.Debug($"[Adventure Boss] Wanted added : {_adventureBossWantedList.Count}"); // Update season info - _adventureBossSeasonList.Add(AdventureBossSeasonData.GetAdventureBossSeasonInfo( + _adventureBossSeasonDict[wanted.Season] = AdventureBossSeasonData.GetAdventureBossSeasonInfo( outputState, wanted.Season, _blockTimeOffset - )); - Log.Debug($"[Adventure Boss] Season added : {_adventureBossSeasonList.Count}"); + ); + Log.Debug($"[Adventure Boss] Season added : {_adventureBossSeasonDict.Count}"); } } catch (Exception e) @@ -218,10 +219,10 @@ partial void SubscribeAdventureBossClaim(ActionEvaluation