Show / Hide Table of Contents

Class SecondOrderReaction

Simulates a differential equation of the form dz/dt = c * x * y. This is the same math as is used to describe a second-order chemical reaction, so I've elected to adopt that terminology. It should be an apt analogy for every use of this interaction - acid rain happens when air pollution meets rain; predation happens when predator meets prey; etc.

N.B. this class, like all WorldLayerInteractions, does not modify the input layers. In chemical terms, the inputs are both catalysts by default - they are not affected by the reaction. If you wish an input to be affected, create another instance of SecondOrderReaction that has that input as its product.

Inheritance
System.Object
WorldLayerInteraction<System.Single>
SecondOrderReaction
Implements
IWorldLayerInteraction
IWorldLayerRelationship
Inherited Members
WorldLayerInteraction<Single>.Verify(List<LocString>)
WorldLayerInteraction<Single>.DescribeParameterized(WorldArea)
WorldLayerInteraction<Single>.GetDependencyIndexByLayerName(String)
WorldLayerInteraction<Single>.ValueOf(String, Single[])
WorldLayerInteraction<Single>.PostWorldgenValueOf(String, Single[])
WorldLayerInteraction<Single>.ToString()
WorldLayerInteraction<Single>.RequiresNeighborhood
WorldLayerInteraction<Single>.Dependencies
WorldLayerInteraction<Single>.PostWorldgenDependencies
WorldLayerInteraction<Single>.OutputLayer
Namespace: Eco.Simulation.WorldLayers.LayerInteractions
Assembly: Eco.Simulation.dll
Syntax
public class SecondOrderReaction : WorldLayerInteraction<float>, IWorldLayerInteraction, IWorldLayerRelationship

Constructors

SecondOrderReaction()

Declaration
public SecondOrderReaction()

Properties

ActivePostWorldgen

Declaration
public bool ActivePostWorldgen { get; set; }
Property Value
Type Description
System.Boolean

DependencyLayerNames

Declaration
public override string[] DependencyLayerNames { get; }
Property Value
Type Description
System.String[]
Overrides
Eco.Simulation.WorldLayers.WorldLayerInteraction<System.Single>.DependencyLayerNames

DescribeGeneral

Declaration
public override string DescribeGeneral { get; }
Property Value
Type Description
System.String
Overrides
Eco.Simulation.WorldLayers.WorldLayerInteraction<System.Single>.DescribeGeneral

OutputLayerName

Declaration
public override string OutputLayerName { get; }
Property Value
Type Description
System.String
Overrides
Eco.Simulation.WorldLayers.WorldLayerInteraction<System.Single>.OutputLayerName

ProductLayerName

Declaration
public string ProductLayerName { get; set; }
Property Value
Type Description
System.String

ReactantOneLayerName

Declaration
public string ReactantOneLayerName { get; set; }
Property Value
Type Description
System.String

ReactantTwoLayerName

Declaration
public string ReactantTwoLayerName { get; set; }
Property Value
Type Description
System.String

ReactionRate

Declaration
public float ReactionRate { get; set; }
Property Value
Type Description
System.Single

WorldInitDependencyLayerNames

Declaration
public override string[] WorldInitDependencyLayerNames { get; }
Property Value
Type Description
System.String[]
Overrides
Eco.Simulation.WorldLayers.WorldLayerInteraction<System.Single>.WorldInitDependencyLayerNames

Methods

Apply(Single, Single[], WorldLayerNeighborInfo[])

Declaration
public override float Apply(float currentValue, float[] dependencyValues, WorldLayerNeighborInfo[] neighborValues)
Parameters
Type Name Description
System.Single currentValue
System.Single[] dependencyValues
WorldLayerNeighborInfo[] neighborValues
Returns
Type Description
System.Single
Overrides
Eco.Simulation.WorldLayers.WorldLayerInteraction<System.Single>.Apply(System.Single, System.Single[], Eco.Simulation.WorldLayers.WorldLayerNeighborInfo[])

DescribeAggregated(IEnumerable<Single>)

Declaration
protected override string DescribeAggregated(IEnumerable<float> intermediateDescriptions)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<System.Single> intermediateDescriptions
Returns
Type Description
System.String
Overrides
Eco.Simulation.WorldLayers.WorldLayerInteraction<System.Single>.DescribeAggregated(System.Collections.Generic.IEnumerable<System.Single>)

DescribeSpecific(Single, Single[], WorldLayerNeighborInfo[])

Declaration
protected override float DescribeSpecific(float currentValue, float[] dependencyValues, WorldLayerNeighborInfo[] neighborValues)
Parameters
Type Name Description
System.Single currentValue
System.Single[] dependencyValues
WorldLayerNeighborInfo[] neighborValues
Returns
Type Description
System.Single
Overrides
Eco.Simulation.WorldLayers.WorldLayerInteraction<System.Single>.DescribeSpecific(System.Single, System.Single[], Eco.Simulation.WorldLayers.WorldLayerNeighborInfo[])

PostWorldgen(Single, Single[], WorldLayerNeighborInfo[])

Declaration
public override float PostWorldgen(float currentValue, float[] dependencyValues, WorldLayerNeighborInfo[] neighborValues)
Parameters
Type Name Description
System.Single currentValue
System.Single[] dependencyValues
WorldLayerNeighborInfo[] neighborValues
Returns
Type Description
System.Single
Overrides
Eco.Simulation.WorldLayers.WorldLayerInteraction<System.Single>.PostWorldgen(System.Single, System.Single[], Eco.Simulation.WorldLayers.WorldLayerNeighborInfo[])

Implements

IWorldLayerInteraction
IWorldLayerRelationship
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾