private static void setClaimedRewardIds(DataEntityCollection dataEntityCollection, DataEntityHandle handle, List <int> claimedRewardIds) { if (!dataEntityCollection.HasComponent <ClaimedRewardIdsData>(handle)) { dataEntityCollection.AddComponent <ClaimedRewardIdsData>(handle); } if (claimedRewardIds != null && claimedRewardIds.Count > 0) { ClaimedRewardIdsData component = dataEntityCollection.GetComponent <ClaimedRewardIdsData>(handle); component.RewardIds = claimedRewardIds; } }
public void OnStateChanged(string state) { if (state == HandledState && rootStateMachine != null) { ProfileData component = dataEntityCollection.GetComponent <ProfileData>(dataEntityCollection.LocalPlayerHandle); if (component != null && component.IsFirstTimePlayer) { showRewardsComplete(); return; } rewardsToShow = new Queue <ClaimableRewardData>(); rewardsToClaimById = new Queue <int>(); claimedRewardIdsData = dataEntityCollection.GetComponent <ClaimedRewardIdsData>(dataEntityCollection.LocalPlayerHandle); parseUnlockDefinitions(); } }
protected void parseClaimableRewards() { ClaimedRewardIdsData component = Service.Get <CPDataEntityCollection>().GetComponent <ClaimedRewardIdsData>(Service.Get <CPDataEntityCollection>().LocalPlayerHandle); List <int> rewardIds = component.RewardIds; Dictionary <int, ClaimableRewardDefinition> dictionary = Service.Get <IGameData>().Get <Dictionary <int, ClaimableRewardDefinition> >(); bool isMember = isLocalPlayerMember(); for (int i = 0; i < rewardIds.Count; i++) { if (dictionary.TryGetValue(rewardIds[i], out var value)) { CPRewardDefinition cPRewardDefinition = value.Reward as CPRewardDefinition; parseRewardDefinition(getRewards(value.Reward), isMember, new SpriteContentKey("Images/ProgressionIcons/Quests_ProgressionLock_Membership"), cPRewardDefinition.ThemeDefinition); } } }
private bool onClaimedReward(RewardServiceEvents.ClaimedReward evt) { int num = rewardsToClaimById.Dequeue(); ClaimableRewardDefinition claimableRewardDefinition = this.claimableRewardDefinition[num]; ClaimableRewardData item = new ClaimableRewardData(claimableRewardDefinition.TitleToken, claimableRewardDefinition.Reward.ToReward()); rewardsToShow.Enqueue(item); ClaimedRewardIdsData claimedRewardIdsData = dataEntityCollection.GetComponent <ClaimedRewardIdsData>(dataEntityCollection.LocalPlayerHandle); if (claimedRewardIdsData == null) { claimedRewardIdsData = dataEntityCollection.AddComponent <ClaimedRewardIdsData>(dataEntityCollection.LocalPlayerHandle); } claimedRewardIdsData.RewardIds.Add(num); claimNextReward(); return(false); }
private void addClaimableRewardWidgets(DateTime date, Dictionary <CellPhoneActivityDefinition, int> widgetToPriority) { if (definition.ClaimableRewardPriority == ActivityScreenPriorities.Hidden) { return; } ClaimedRewardIdsData claimedRewardData = Service.Get <CPDataEntityCollection>().GetComponent <ClaimedRewardIdsData>(Service.Get <CPDataEntityCollection>().LocalPlayerHandle); if (claimedRewardData == null) { return; } List <CellPhoneClaimableRewardActivityDefinition> scheduledItemsForDate = getScheduledItemsForDate(definition.ScheduledClaimableRewardActivities, date); if (scheduledItemsForDate.Count > 0) { scheduledItemsForDate.Sort((CellPhoneClaimableRewardActivityDefinition a, CellPhoneClaimableRewardActivityDefinition b) => a.WidgetPriority.CompareTo(b.WidgetPriority)); scheduledItemsForDate.RemoveAll((CellPhoneClaimableRewardActivityDefinition widget) => claimedRewardData.RewardIds.Contains(widget.ClaimableReward.Id)); for (int i = 0; i < scheduledItemsForDate.Count; i++) { widgetToPriority.Add(scheduledItemsForDate[i], (int)getGlobalPriorityForItem(scheduledItemsForDate[i], definition.EventPriority)); } } }