private bool baseConditionMet(LoginZoneDefinition.LoginZoneCondition condition) { ScheduledEventDateDefinition scheduledEventDateDefinition = Service.Get <IGameData>().Get <Dictionary <int, ScheduledEventDateDefinition> >()[condition.DateDefinitionKey.Id]; if (!DateTimeUtils.DoesDateFallBetween(contentSchedulerService.ScheduledEventDate(), scheduledEventDateDefinition.Dates.StartDate, scheduledEventDateDefinition.Dates.EndDate)) { return(false); } bool result = false; string key = condition.PlayerPrefsKey; if (condition.AddPlayerNameToKey) { CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>(); string displayName = cPDataEntityCollection.GetComponent <DisplayNameData>(cPDataEntityCollection.LocalPlayerHandle).DisplayName; key = displayName + condition.PlayerPrefsKey; } switch (condition.TypeOfCondition) { case LoginZoneDefinition.ConditionType.PlayerPrefExist: result = PlayerPrefs.HasKey(key); break; case LoginZoneDefinition.ConditionType.PlayerPrefDoesNotExist: result = !PlayerPrefs.HasKey(key); break; } return(result); }
private void parseUnlockDefinitions() { foreach (ClaimableRewardDefinition value in claimableRewardDefinition.Values) { if (value.ClaimOnLogin && (!value.IsMemberOnly || isMember())) { DateTime target = contentSchedulerService.ScheduledEventDate(); ScheduledEventDateDefinition definitionById = Service.Get <IGameData>().GetDefinitionById(value.DateDefinitionKey); if (DateTimeUtils.DoesDateFallBetween(target, definitionById.Dates.StartDate, definitionById.Dates.EndDate) && (claimedRewardIdsData == null || !claimedRewardIdsData.RewardIds.Contains(value.Id))) { rewardsToClaimById.Enqueue(value.Id); } } } if (rewardsToClaimById.Count > 0) { claimNextReward(); } else { showRewardsComplete(); } }