Exemple #1
0
 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();
     }
 }
Exemple #3
0
        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);
    }
Exemple #5
0
        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));
                }
            }
        }