@@ -93,7 +93,7 @@ private bool IsCurrentSeasonPassValid(SeasonPassServiceClient.PassType passType)
93
93
private async Task FetchSeasonPassDataWithRetry ( SeasonPassServiceClient . PassType passType , int maxRetries = 3 )
94
94
{
95
95
int retryCount = 0 ;
96
-
96
+
97
97
while ( retryCount < maxRetries )
98
98
{
99
99
var tcs = new TaskCompletionSource < bool > ( ) ;
@@ -103,7 +103,7 @@ await Client.GetSeasonpassCurrentAsync(Game.Game.instance.CurrentPlanetId.ToStri
103
103
CurrentSeasonPassData [ passType ] = result ;
104
104
105
105
// 용기 시즌패스의 경우만 종료일을 설정하고 남은 시간을 갱신한다.
106
- // 현재는 용기시즌패스, 어드벤쳐보스 시즌패스 모두 같은 시즌주기시간을 사용하기때문.
106
+ // 현재는 용기시즌패스, 어드벤쳐보스 시즌패스 모두 같은 시즌주기시간을 사용하기때문.
107
107
if ( passType == SeasonPassServiceClient . PassType . CouragePass )
108
108
{
109
109
DateTime . TryParse ( result . EndTimestamp , out var endDateTime ) ;
@@ -197,7 +197,7 @@ private async Task FetchExpInfoDataWithRetry(SeasonPassServiceClient.PassType pa
197
197
while ( retryCount < maxRetries )
198
198
{
199
199
var tcs = new TaskCompletionSource < bool > ( ) ;
200
-
200
+
201
201
await Client . GetSeasonpassExpAsync ( passType , seasonIndex , ( result ) =>
202
202
{
203
203
foreach ( var item in result )
@@ -333,8 +333,11 @@ await Client.GetUserStatusAllAsync(
333
333
}
334
334
335
335
//이전시즌 보상의경우 프리미엄일때만 체크합니다.
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 )
338
341
{
339
342
HasPrevClaimPassType . Add ( userSeasonPassSchema . SeasonPass . PassType ) ;
340
343
}
0 commit comments