public TerrainCellAlteration GetAlteration(bool regardless = false, bool addLayerData = true) { // If cell hasn't been modified there's no need to create a TerrainCellChanges object (unless it is regardless) if (!regardless && !Modified) { return(null); } TerrainCellAlteration alteration = new TerrainCellAlteration(this, addLayerData); return(alteration); }
public void SetAlteration(TerrainCellAlteration alteration) { BaseAltitudeValue = alteration.BaseAltitudeValue; BaseTemperatureValue = alteration.BaseTemperatureValue; BaseRainfallValue = alteration.BaseRainfallValue; BaseTemperatureOffset = alteration.BaseTemperatureOffset; BaseRainfallOffset = alteration.BaseRainfallOffset; FarmlandPercentage = alteration.FarmlandPercentage; Accessibility = alteration.Accessibility; Arability = alteration.Arability; foreach (CellLayerData data in alteration.LayerData) { SetLayerData(Layer.Layers[data.Id], data.Value, data.Offset); } Modified = alteration.Modified; if (Altitude > World.MaxAltitude) { World.MaxAltitude = Altitude; } if (Altitude < World.MinAltitude) { World.MinAltitude = Altitude; } if (Rainfall > World.MaxRainfall) { World.MaxRainfall = Rainfall; } if (Rainfall < World.MinRainfall) { World.MinRainfall = Rainfall; } if (Temperature > World.MaxTemperature) { World.MaxTemperature = Temperature; } if (Temperature < World.MinTemperature) { World.MinTemperature = Temperature; } }