private void showNextReward() { ClaimableRewardData claimableRewardData = rewardsToShow.Dequeue(); ShowRewardPopup.Builder builder = new ShowRewardPopup.Builder(DRewardPopup.RewardPopupType.generic, claimableRewardData.Reward).setRewardSource("ClaimableReward"); builder.setHeaderText(claimableRewardData.RewardTitle); ShowRewardPopup showRewardPopup = builder.Build(); showRewardPopup.Execute(); Service.Get <ICPSwrveService>().Action("game.marketing_promotion", claimableRewardData.RewardTitle); }
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); }
internal static bool ClaimReward(int rewardId, out ClaimRewardResponse responseBody, OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions) { responseBody = new ClaimRewardResponse(); ClaimableRewardData value = offlineDatabase.Read <ClaimableRewardData>(); if (value.ClimedRewards.Contains(rewardId)) { return(false); } Reward claimableReward = offlineDefinitions.GetClaimableReward(rewardId); if (claimableReward != null) { offlineDefinitions.AddReward(claimableReward, responseBody); value.ClimedRewards.Add(rewardId); offlineDatabase.Write(value); JsonService jsonService = Service.Get <JsonService>(); responseBody.reward = jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(claimableReward))); return(true); } return(false); }
protected override void SetOfflineData(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions) { BreadcrumbCollection value = offlineDatabase.Read <BreadcrumbCollection>(); value.breadcrumbs = ResponseBody.breadcrumbs.breadcrumbs; offlineDatabase.Write(value); ClaimableRewardData value2 = offlineDatabase.Read <ClaimableRewardData>(); value2.ClimedRewards = ResponseBody.claimedRewardIds; offlineDatabase.Write(value2); ClubPenguin.Net.Offline.DailySpinData value3 = offlineDatabase.Read <ClubPenguin.Net.Offline.DailySpinData>(); value3.CurrentChestId = ResponseBody.dailySpinData.currentChestId; value3.NumChestsReceivedOfCurrentChestId = ResponseBody.dailySpinData.numChestsReceivedOfCurrentChestId; value3.NumPunchesOnCurrentChest = ResponseBody.dailySpinData.numPunchesOnCurrentChest; value3.TimeOfLastSpinInMilliseconds = ResponseBody.dailySpinData.timeOfLastSpinInMilliseconds; offlineDatabase.Write(value3); ClubPenguin.Net.Offline.PlayerOutfitDetails value4 = offlineDatabase.Read <ClubPenguin.Net.Offline.PlayerOutfitDetails>(); value4.Parts = ResponseBody.outfit; offlineDatabase.Write(value4); ClubPenguin.Net.Offline.Profile value5 = offlineDatabase.Read <ClubPenguin.Net.Offline.Profile>(); value5.Colour = ResponseBody.profile.colour; value5.DateCreated = DateTime.UtcNow.AddDays(-1 * ResponseBody.profile.daysOld).GetTimeInMilliseconds(); offlineDatabase.Write(value5); SetProgressOperation.SetOfflineQuestStateCollection(offlineDatabase, ResponseBody.quests); TutorialData value6 = offlineDatabase.Read <TutorialData>(); for (int i = 0; i < value6.Bytes.Length; i++) { sbyte b = 0; if (i < ResponseBody.tutorialData.Count) { b = ResponseBody.tutorialData[i]; } value6.Bytes[i] = b; } offlineDatabase.Write(value6); }