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);
        }
Exemplo n.º 2
0
 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);
         }
     }
 }