Skip to content

Commit 491e722

Browse files
committed
Enhanced condition checks for premium season pass claims to ensure valid timestamps are considered.
1 parent cd5aff4 commit 491e722

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

nekoyume/Assets/_Scripts/ApiClient/SeasonPassServiceManager.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ private bool IsCurrentSeasonPassValid(SeasonPassServiceClient.PassType passType)
9393
private async Task FetchSeasonPassDataWithRetry(SeasonPassServiceClient.PassType passType, int maxRetries = 3)
9494
{
9595
int retryCount = 0;
96-
96+
9797
while (retryCount < maxRetries)
9898
{
9999
var tcs = new TaskCompletionSource<bool>();
@@ -103,7 +103,7 @@ await Client.GetSeasonpassCurrentAsync(Game.Game.instance.CurrentPlanetId.ToStri
103103
CurrentSeasonPassData[passType] = result;
104104

105105
// 용기 시즌패스의 경우만 종료일을 설정하고 남은 시간을 갱신한다.
106-
// 현재는 용기시즌패스, 어드벤쳐보스 시즌패스 모두 같은 시즌주기시간을 사용하기때문.
106+
// 현재는 용기시즌패스, 어드벤쳐보스 시즌패스 모두 같은 시즌주기시간을 사용하기때문.
107107
if (passType == SeasonPassServiceClient.PassType.CouragePass)
108108
{
109109
DateTime.TryParse(result.EndTimestamp, out var endDateTime);
@@ -197,7 +197,7 @@ private async Task FetchExpInfoDataWithRetry(SeasonPassServiceClient.PassType pa
197197
while (retryCount < maxRetries)
198198
{
199199
var tcs = new TaskCompletionSource<bool>();
200-
200+
201201
await Client.GetSeasonpassExpAsync(passType, seasonIndex, (result) =>
202202
{
203203
foreach (var item in result)
@@ -333,8 +333,11 @@ await Client.GetUserStatusAllAsync(
333333
}
334334

335335
//이전시즌 보상의경우 프리미엄일때만 체크합니다.
336-
//https://github.com/planetarium/NineChronicles/issues/4731#issuecomment-2044277184
337-
if (userSeasonPassSchema.IsPremium && userSeasonPassSchema.Level > userSeasonPassSchema.LastPremiumClaim)
336+
if (userSeasonPassSchema.IsPremium
337+
&& userSeasonPassSchema.Level > userSeasonPassSchema.LastPremiumClaim
338+
&& !string.IsNullOrEmpty(userSeasonPassSchema.ClaimLimitTimestamp)
339+
&& DateTime.TryParse(userSeasonPassSchema.ClaimLimitTimestamp, out var claimLimitTime)
340+
&& DateTime.UtcNow < claimLimitTime)
338341
{
339342
HasPrevClaimPassType.Add(userSeasonPassSchema.SeasonPass.PassType);
340343
}

0 commit comments

Comments
 (0)