RegionSettings ISimulationDataRegionSettingsStorageInterface.this[UUID regionID]
        {
            get
            {
                RegionSettings settings;
                if (!RegionSettings.TryGetValue(regionID, out settings))
                {
                    throw new KeyNotFoundException();
                }
                return(settings);
            }

            set { m_RegionSettingsData[regionID] = new RegionSettings(value); }
        }
 RegionSettings ISimulationDataRegionSettingsStorageInterface.this[UUID regionID]
 {
     get
     {
         RegionSettings settings;
         if (!RegionSettings.TryGetValue(regionID, out settings))
         {
             throw new KeyNotFoundException();
         }
         return(settings);
     }
     set
     {
         using (var conn = new NpgsqlConnection(m_ConnectionString))
         {
             conn.Open();
             var data = new Dictionary <string, object>
             {
                 ["RegionID"]                 = regionID,
                 ["BlockTerraform"]           = value.BlockTerraform,
                 ["BlockFly"]                 = value.BlockFly,
                 ["AllowDamage"]              = value.AllowDamage,
                 ["RestrictPushing"]          = value.RestrictPushing,
                 ["AllowLandResell"]          = value.AllowLandResell,
                 ["AllowLandJoinDivide"]      = value.AllowLandJoinDivide,
                 ["BlockShowInSearch"]        = value.BlockShowInSearch,
                 ["AgentLimit"]               = value.AgentLimit,
                 ["ObjectBonus"]              = value.ObjectBonus,
                 ["DisableScripts"]           = value.DisableScripts,
                 ["DisableCollisions"]        = value.DisableCollisions,
                 ["BlockFlyOver"]             = value.BlockFlyOver,
                 ["Sandbox"]                  = value.Sandbox,
                 ["TerrainTexture1"]          = value.TerrainTexture1,
                 ["TerrainTexture2"]          = value.TerrainTexture2,
                 ["TerrainTexture3"]          = value.TerrainTexture3,
                 ["TerrainTexture4"]          = value.TerrainTexture4,
                 ["TelehubObject"]            = value.TelehubObject,
                 ["Elevation1NW"]             = value.Elevation1NW,
                 ["Elevation2NW"]             = value.Elevation2NW,
                 ["Elevation1NE"]             = value.Elevation1NE,
                 ["Elevation2NE"]             = value.Elevation2NE,
                 ["Elevation1SE"]             = value.Elevation1SE,
                 ["Elevation2SE"]             = value.Elevation2SE,
                 ["Elevation1SW"]             = value.Elevation1SW,
                 ["Elevation2SW"]             = value.Elevation2SW,
                 ["WaterHeight"]              = value.WaterHeight,
                 ["TerrainRaiseLimit"]        = value.TerrainRaiseLimit,
                 ["TerrainLowerLimit"]        = value.TerrainLowerLimit,
                 ["SunPosition"]              = value.SunPosition,
                 ["IsSunFixed"]               = value.IsSunFixed,
                 ["UseEstateSun"]             = value.UseEstateSun,
                 ["BlockDwell"]               = value.BlockDwell,
                 ["ResetHomeOnTeleport"]      = value.ResetHomeOnTeleport,
                 ["AllowLandmark"]            = value.AllowLandmark,
                 ["AllowDirectTeleport"]      = value.AllowDirectTeleport,
                 ["MaxBasePrims"]             = value.MaxBasePrims,
                 ["WalkableCoefficientsData"] = value.WalkableCoefficientsSerialization
             };
             conn.ReplaceInto("regionsettings", data, new string[] { "RegionID" }, m_EnableOnConflict);
         }
     }
 }