ToggleMolecule

open class ToggleMolecule<T>(reaction: NodeReaction<T>, molecule: Molecule, concentration: T) : AbstractLocalAction<T>

Treats molecule as a switch:

  • if it is present, then it's removed from targetNode;

  • otherwise, it is inserted in targetNode with the provided concentration.

Inheritors

Constructors

Link copied to clipboard
constructor(reaction: NodeReaction<T>, molecule: Molecule, concentration: T)

Properties

Link copied to clipboard
override val reaction: NodeReaction<T>

The NodeReaction owning this action, hosted by targetNode.

Link copied to clipboard

Functions

Link copied to clipboard
override fun cloneAction(newReaction: Reaction<T>): Action<T>

Creates an equivalent action owned by newReaction, such as a reaction cloned onto a new node. An action targeting the host of its reaction targets the host of newReaction, which must then be a Node; an action targeting any other node keeps its target.

Link copied to clipboard
open override fun execute()

Toggles concentration.

Link copied to clipboard
infix fun Action<*>.shouldEqual(other: Action<*>)
Link copied to clipboard
open override fun toString(): String