/// <summary> /// Purge the campaign tracking data /// </summary> public static xPromoCampaignTrackingListData PurgeCampaigns(xPromoCampaignListData campaignListList, xPromoCampaignTrackingListData trackingData) { List <xPromoCampaignTrackingData> trackingDataList = new List <xPromoCampaignTrackingData>(); for (int i = 0; i < campaignListList.games.Length; i++) { xPromoCampaignTrackingData trackingDataItem = GetTrackingDataItem(trackingData, campaignListList.games[i].campaignId); if (trackingDataItem == null) { trackingDataItem = new xPromoCampaignTrackingData { campaignId = campaignListList.games[i].campaignId, views = 0, todayViews = 0 }; } trackingDataList.Add(trackingDataItem); } xPromoCampaignTrackingListData newTrackingData = new xPromoCampaignTrackingListData(); newTrackingData.campaigns = new xPromoCampaignTrackingData[trackingDataList.Count]; for (int i = 0; i < trackingDataList.Count; i++) { newTrackingData.campaigns[i] = trackingDataList[i]; } // Save to local the new tracking data SaveToLocal(newTrackingData); return(newTrackingData); }
void PopupateDropdownList() { campaignListData = xPromoManager.Instance.GetCampaignListData(); if (campaignListData != null && campaignListData.games != null) { dropdown.options = new List <TMP_Dropdown.OptionData>(); for (int i = 0; i < campaignListData.games.Length; i++) { dropdown.options.Add(new TMP_Dropdown.OptionData(campaignListData.games[i].campaignId)); } dropdown.value = -1; dropdown.value = 0; } }
public void LogCampaigns(xPromoCampaignListData campaignListData) { _campaignsLog = ""; if (campaignListData != null && campaignListData.games.Length > 0) { for (int i = 0; i < campaignListData.games.Length; i++) { _campaignsLog += $"{campaignListData.games[i].campaignId}\t{campaignListData.games[i].game}\t{campaignListData.games[i].maxViews}\t{campaignListData.games[i].maxViewsDay}\n"; } } else { _campaignsLog = "Empty"; } OnLog?.Invoke(_campaignsLog); _notifyOnChange?.Invoke(); }
private bool LoadCampaingDataFromJson(string json) { bool success = false; try { campaignListData = JsonUtility.FromJson <xPromoCampaignListData>(json); if (campaignListData != null || campaignListData.games != null) { success = true; } else { Log("Campaign data is empty."); } } catch (Exception e) { Log($"Error reading json. Error: {e.Message}"); } return(success); }
/// <summary> /// Returns the list that should be downloaded if necessary /// </summary> private List <string> buildAssetsToDownloadList(xPromoCampaignListData campaignListList) { List <string> assetsToDownload = new List <string>(); for (int i = 0; i < campaignListList.games.Length; i++) { if (!string.IsNullOrEmpty(campaignListList.games[i].video) && !assetsToDownload.Contains(campaignListList.games[i].video)) { assetsToDownload.Add(campaignListList.games[i].video); } if (!string.IsNullOrEmpty(campaignListList.games[i].gameLogo) && !assetsToDownload.Contains(campaignListList.games[i].gameLogo)) { assetsToDownload.Add(campaignListList.games[i].gameLogo); } if (!string.IsNullOrEmpty(campaignListList.games[i].gameScreenshot) && !assetsToDownload.Contains(campaignListList.games[i].gameScreenshot)) { assetsToDownload.Add(campaignListList.games[i].gameScreenshot); } } return(assetsToDownload); }