public override bool Run() { EnvironmentController.WindlightSkyData skyTestData = EnvironmentController.WindlightSkyData.Defaults; EnvironmentController.WindlightWaterData waterTestData = EnvironmentController.WindlightWaterData.Defaults; UUID regionID = new UUID("11223344-1122-1122-1122-112233445566"); EnvironmentController.WindlightSkyData skyRetrieveData; EnvironmentController.WindlightWaterData waterRetrieveData; m_Log.Info("Testing non-existence of LightShare data"); if (SimulationData.LightShare.TryGetValue(regionID, out skyRetrieveData, out waterRetrieveData)) { return(false); } m_Log.Info("Storing LightShare data"); SimulationData.LightShare.Store(regionID, skyTestData, waterTestData); m_Log.Info("Testing existence of LightShare data"); if (!SimulationData.LightShare.TryGetValue(regionID, out skyRetrieveData, out waterRetrieveData)) { return(false); } m_Log.Info("Removing LightShare data via Remove"); if (!SimulationData.LightShare.Remove(regionID)) { return(false); } m_Log.Info("Testing non-existence of LightShare data"); if (SimulationData.LightShare.TryGetValue(regionID, out skyRetrieveData, out waterRetrieveData)) { return(false); } m_Log.Info("Storing LightShare data"); SimulationData.LightShare.Store(regionID, skyTestData, waterTestData); m_Log.Info("Testing existence of LightShare data"); if (!SimulationData.LightShare.TryGetValue(regionID, out skyRetrieveData, out waterRetrieveData)) { return(false); } m_Log.Info("Removing LightShare data via RemoveRegion"); SimulationData.RemoveRegion(regionID); m_Log.Info("Testing non-existence of LightShare data"); if (SimulationData.LightShare.TryGetValue(regionID, out skyRetrieveData, out waterRetrieveData)) { return(false); } return(true); }
public override void TriggerLightShareSettingsChanged() { lock (m_LightShareStoreLock) { if (Environment.IsWindLightValid) { EnvironmentController.WindlightSkyData skyData = Environment.SkyData; EnvironmentController.WindlightWaterData waterData = Environment.WaterData; m_SimulationDataStorage.LightShare.Store(ID, skyData, waterData); } else { m_SimulationDataStorage.LightShare.Remove(ID); } } }