public void Mod(WorldTrait.ElementBandModifier mod) { Debug.Assert(mod.element == base.content); base.bandSize *= mod.bandMultiplier; if (overrides == null) { overrides = new SampleDescriber.Override(); } overrides.ModMultiplyMass(mod.massMultiplier); }
public static ElementOverride GetElementOverride(string element, SampleDescriber.Override overrides) { Debug.Assert(element != null && element.Length > 0); ElementOverride result = default(ElementOverride); result.element = ElementLoader.FindElementByName(element); Debug.Assert(result.element != null, "Couldn't find an element called " + element); result.pdelement = result.element.defaultValues; result.dc = Sim.DiseaseCell.Invalid; result.mass = result.element.defaultValues.mass; result.temperature = result.element.defaultValues.temperature; if (overrides == null) { return(result); } result.overrideMass = false; result.overrideTemperature = false; result.overrideDiseaseIdx = false; result.overrideDiseaseAmount = false; if (overrides.massOverride.HasValue) { result.mass = overrides.massOverride.Value; result.overrideMass = true; } if (overrides.massMultiplier.HasValue) { result.mass *= overrides.massMultiplier.Value; result.overrideMass = true; } if (overrides.temperatureOverride.HasValue) { result.temperature = overrides.temperatureOverride.Value; result.overrideTemperature = true; } if (overrides.temperatureMultiplier.HasValue) { result.temperature *= overrides.temperatureMultiplier.Value; result.overrideTemperature = true; } if (overrides.diseaseOverride != null) { result.diseaseIdx = (byte)WorldGen.GetDiseaseIdx(overrides.diseaseOverride); result.overrideDiseaseIdx = true; } if (overrides.diseaseAmountOverride.HasValue) { result.diseaseAmount = overrides.diseaseAmountOverride.Value; result.overrideDiseaseAmount = true; } if (result.overrideTemperature) { result.pdelement.temperature = result.temperature; } if (result.overrideMass) { result.pdelement.mass = result.mass; } if (result.overrideDiseaseIdx) { result.dc.diseaseIdx = result.diseaseIdx; } if (result.overrideDiseaseAmount) { result.dc.elementCount = result.diseaseAmount; } return(result); }
public ElementGradient(string content, float bandSize, SampleDescriber.Override overrides) : base(content, bandSize) { this.overrides = overrides; }