private void addActiveQuestWidget(Dictionary <CellPhoneActivityDefinition, int> widgetToPriority, Quest quest) { if (definition.ActiveQuestPriority != ActivityScreenPriorities.Hidden) { CellPhoneQuestActivityDefinition cellPhoneQuestActivityDefinition = ScriptableObject.CreateInstance <CellPhoneQuestActivityDefinition>(); cellPhoneQuestActivityDefinition.Quest = quest.Definition; cellPhoneQuestActivityDefinition.WidgetPrefabKey = definition.ActiveQuestWidgetKey; widgetToPriority.Add(cellPhoneQuestActivityDefinition, (int)definition.ActiveQuestPriority); } }
public void SetWidgetData(CellPhoneActivityDefinition widgetData) { CellPhoneQuestActivityDefinition cellPhoneQuestActivityDefinition = widgetData as CellPhoneQuestActivityDefinition; if (cellPhoneQuestActivityDefinition != null) { this.widgetData = cellPhoneQuestActivityDefinition; skinForQuest(this.widgetData.Quest); } }
private void addAvailableQuestWidget(Dictionary <CellPhoneActivityDefinition, int> widgetToPriority) { if (definition.AvailableQuestPriority != ActivityScreenPriorities.Hidden) { QuestDefinition availableQuest = getAvailableQuest(); if (availableQuest != null) { CellPhoneQuestActivityDefinition cellPhoneQuestActivityDefinition = ScriptableObject.CreateInstance <CellPhoneQuestActivityDefinition>(); cellPhoneQuestActivityDefinition.Quest = availableQuest; cellPhoneQuestActivityDefinition.WidgetPrefabKey = definition.AvailableQuestWidgetKey; widgetToPriority.Add(cellPhoneQuestActivityDefinition, (int)definition.AvailableQuestPriority); } } }
private void triggerNotification(ActivityNotificationScheduleBlock notificationBlock) { int num = generateRandomNotificationIndex(notificationBlock.Notifications.Length); int num2 = num; CellPhoneActivityDefinition cellPhoneActivityDefinition = null; do { cellPhoneActivityDefinition = notificationBlock.Notifications[num]; if (cellPhoneActivityDefinition.GetType() == typeof(CellPhoneScheduledLocationActivityDefinition) || cellPhoneActivityDefinition.GetType().IsSubclassOf(typeof(CellPhoneScheduledLocationActivityDefinition))) { CellPhoneScheduledLocationActivityDefinition cellPhoneScheduledLocationActivityDefinition = (CellPhoneScheduledLocationActivityDefinition)cellPhoneActivityDefinition; DateTime target = Service.Get <ContentSchedulerService>().ScheduledEventDate(); if (cellPhoneScheduledLocationActivityDefinition is CellPhoneRecurringLocationActivityDefinition) { cellPhoneScheduledLocationActivityDefinition = CellPhoneActivityScreenRecurringWidgetLoader.GetActiveRecurringActivityDefinition(recurringActivityDefinitions); } if (cellPhoneScheduledLocationActivityDefinition != null && DateTimeUtils.DoesDateFallBetween(target, cellPhoneScheduledLocationActivityDefinition.GetStartingDate().Date, cellPhoneScheduledLocationActivityDefinition.GetEndingDate().Date)) { break; } cellPhoneActivityDefinition = null; num++; if (num >= notificationBlock.Notifications.Length) { num = 0; } continue; } break; }while (num != num2); if (!(cellPhoneActivityDefinition != null)) { return; } string message = ""; if (cellPhoneActivityDefinition is CellPhoneQuestActivityDefinition) { CellPhoneQuestActivityDefinition cellPhoneQuestActivityDefinition = (CellPhoneQuestActivityDefinition)cellPhoneActivityDefinition; cellPhoneQuestActivityDefinition.Quest = getAvailableQuest(); if (cellPhoneQuestActivityDefinition.Quest != null) { message = localizer.GetTokenTranslation(cellPhoneQuestActivityDefinition.Quest.Mascot.GoForItNotificationText); } } else { message = localizer.GetTokenTranslation(cellPhoneActivityDefinition.NotificationMessageToken); } if (checkNotificationIsAllowed(cellPhoneActivityDefinition)) { ActivityNotificationData dataPayload = null; if (schedule.NotificationReward.ToReward().TryGetValue <CoinReward>(out var rewardable)) { dataPayload = new ActivityNotificationData(rewardable.Coins, cellPhoneActivityDefinition); } DNotification dNotification = new DNotification(); dNotification.PopUpDelayTime = NotificationShowTime; dNotification.DataPayload = dataPayload; dNotification.PrefabLocation = notificationKey; dNotification.Message = message; dNotification.Type = DNotification.NotificationType.ActivityTracker; dNotification.PersistBetweenScenes = false; trayNotificationManager.ShowNotification(dNotification); } }