using exprivia; using sam; using System; using UnityEngine; public class ProductSelectorSessionTestInitializer : MonoBehaviour { public MonoBehaviour sessionInitializer; public SatelliteConfig satelliteConfig; public string dataType; public string previousSceneName; public string startTimeOverride; void Awake() { if (!enabled) return; sessionInitializer.enabled = false; SatelliteConfig.SelectedSatelliteConfig = satelliteConfig; GlobalDictionary.SetValue("SatelliteId", satelliteConfig.satelliteId); string configFeatureId = dataType + "DataConfig"; SatelliteDataTypeConfig dataConfig = (SatelliteDataTypeConfig)satelliteConfig.GetFeatureConfig(configFeatureId); if (dataConfig == null) { Debug.LogError($"ProductSelectorSessionTestInitializer: could not find satellite data configuration object"); return; } GlobalDictionary.SetValue("SatelliteDataTypeConfig", dataConfig); if (!string.IsNullOrEmpty(startTimeOverride)) { DateTime startTime = DateTime.Parse(startTimeOverride); Debug.Log($"ProductSelectorSessionTestInitializer: parsed start date as {startTime}"); DateTime endTime = startTime.AddDays(2); WriteDataToDictionary((startTime, endTime)); } else { StartCoroutine(dataConfig.GetRandomTimeRange( (e) => { Debug.LogError($"ProductSelectorSessionTestInitializer: Error getting time range from satellite: {e}"); return; }, WriteDataToDictionary )); } } void WriteDataToDictionary((DateTime start, DateTime end) t) { Debug.Log("ProductSelectorSessionTestInitializer: Writing Data To Dictionary!"); GlobalDictionary.SetValue("SatelliteConfig", satelliteConfig); GlobalDictionary.SetValue("DataType", dataType); GlobalDictionary.SetValue("StartTime", t.start); GlobalDictionary.SetValue("EndTime", t.end); GlobalDictionary.SetValue("PreviousSceneName", previousSceneName); sessionInitializer.enabled = true; } void OnEnable() {} }