unity-atoms/docs/api/unityatoms.baseatoms.md
2020-03-02 20:12:38 +01:00

1895 lines
40 KiB
Markdown

---
id: unityatoms.baseatoms
title: UnityAtoms.BaseAtoms
hide_title: true
sidebar_label: UnityAtoms.BaseAtoms
---
# Namespace - `UnityAtoms.BaseAtoms`
## `VoidListener`
The most basic Listener. Can use every type of AtomEvent but doesn't support its value. Inherits from `AtomBaseListener` and implements `IAtomListener`.
### Variables
#### `_event`
The Event that we are listening to.
---
#### `_unityEventResponse`
The Unity Event responses. NOTE: This variable is public due to this bug: https://issuetracker.unity3d.com/issues/events-generated-by-the-player-input-component-do-not-have-callbackcontext-set-as-their-parameter-type. Will be changed back to private when fixed (this could happen in a none major update).
---
#### `_actionResponses`
The Action responses;
### Properties
#### `Event`
The Event we are listening for as a property.
### Methods
#### `OnEventRaised`
Handler for when the Event gets raised.
---
## `AtomBaseVariableEventListener`
Event Listener of type `AtomBaseVariable`. Inherits from `AtomEventListener<AtomBaseVariable, AtomBaseVariableAction, AtomBaseVariableEvent, AtomBaseVariableUnityEvent>`.
---
## `BoolPairEventReferenceListener`
Event Reference Listener of type `BoolPair`. Inherits from `AtomEventReferenceListener<BoolPair, BoolPairAction, BoolPairEvent, BoolPairEventReference, BoolPairUnityEvent>`.
---
## `Collider2DPairEventReferenceListener`
Event Reference Listener of type `Collider2DPair`. Inherits from `AtomEventReferenceListener<Collider2DPair, Collider2DPairAction, Collider2DPairEvent, Collider2DPairEventReference, Collider2DPairUnityEvent>`.
---
## `IntEventReferenceListener`
Event Reference Listener of type `int`. Inherits from `AtomEventReferenceListener<int, IntAction, IntEvent, IntEventReference, IntUnityEvent>`.
---
## `ColliderEventReferenceListener`
Event Reference Listener of type `Collider`. Inherits from `AtomEventReferenceListener<Collider, ColliderAction, ColliderEvent, ColliderEventReference, ColliderUnityEvent>`.
---
## `IntPairEventReferenceListener`
Event Reference Listener of type `IntPair`. Inherits from `AtomEventReferenceListener<IntPair, IntPairAction, IntPairEvent, IntPairEventReference, IntPairUnityEvent>`.
---
## `Vector3PairEventReferenceListener`
Event Reference Listener of type `Vector3Pair`. Inherits from `AtomEventReferenceListener<Vector3Pair, Vector3PairAction, Vector3PairEvent, Vector3PairEventReference, Vector3PairUnityEvent>`.
---
## `BoolEventReferenceListener`
Event Reference Listener of type `bool`. Inherits from `AtomEventReferenceListener<bool, BoolAction, BoolEvent, BoolEventReference, BoolUnityEvent>`.
---
## `Collider2DEventReferenceListener`
Event Reference Listener of type `Collider2D`. Inherits from `AtomEventReferenceListener<Collider2D, Collider2DAction, Collider2DEvent, Collider2DEventReference, Collider2DUnityEvent>`.
---
## `Vector2PairEventReferenceListener`
Event Reference Listener of type `Vector2Pair`. Inherits from `AtomEventReferenceListener<Vector2Pair, Vector2PairAction, Vector2PairEvent, Vector2PairEventReference, Vector2PairUnityEvent>`.
---
## `StringPairEventReferenceListener`
Event Reference Listener of type `StringPair`. Inherits from `AtomEventReferenceListener<StringPair, StringPairAction, StringPairEvent, StringPairEventReference, StringPairUnityEvent>`.
---
## `ColorEventReferenceListener`
Event Reference Listener of type `Color`. Inherits from `AtomEventReferenceListener<Color, ColorAction, ColorEvent, ColorEventReference, ColorUnityEvent>`.
---
## `Vector2EventReferenceListener`
Event Reference Listener of type `Vector2`. Inherits from `AtomEventReferenceListener<Vector2, Vector2Action, Vector2Event, Vector2EventReference, Vector2UnityEvent>`.
---
## `FloatEventReferenceListener`
Event Reference Listener of type `float`. Inherits from `AtomEventReferenceListener<float, FloatAction, FloatEvent, FloatEventReference, FloatUnityEvent>`.
---
## `Vector3EventReferenceListener`
Event Reference Listener of type `Vector3`. Inherits from `AtomEventReferenceListener<Vector3, Vector3Action, Vector3Event, Vector3EventReference, Vector3UnityEvent>`.
---
## `GameObjectEventReferenceListener`
Event Reference Listener of type `GameObject`. Inherits from `AtomEventReferenceListener<GameObject, GameObjectAction, GameObjectEvent, GameObjectEventReference, GameObjectUnityEvent>`.
---
## `FloatPairEventReferenceListener`
Event Reference Listener of type `FloatPair`. Inherits from `AtomEventReferenceListener<FloatPair, FloatPairAction, FloatPairEvent, FloatPairEventReference, FloatPairUnityEvent>`.
---
## `ColliderPairEventReferenceListener`
Event Reference Listener of type `ColliderPair`. Inherits from `AtomEventReferenceListener<ColliderPair, ColliderPairAction, ColliderPairEvent, ColliderPairEventReference, ColliderPairUnityEvent>`.
---
## `ColorPairEventReferenceListener`
Event Reference Listener of type `ColorPair`. Inherits from `AtomEventReferenceListener<ColorPair, ColorPairAction, ColorPairEvent, ColorPairEventReference, ColorPairUnityEvent>`.
---
## `StringEventReferenceListener`
Event Reference Listener of type `string`. Inherits from `AtomEventReferenceListener<string, StringAction, StringEvent, StringEventReference, StringUnityEvent>`.
---
## `GameObjectPairEventReferenceListener`
Event Reference Listener of type `GameObjectPair`. Inherits from `AtomEventReferenceListener<GameObjectPair, GameObjectPairAction, GameObjectPairEvent, GameObjectPairEventReference, GameObjectPairUnityEvent>`.
---
## `FloatReference`
Reference of type `float`. Inherits from `EquatableAtomReference<float, FloatPair, FloatConstant, FloatVariable, FloatEvent, FloatPairEvent, FloatFloatFunction, FloatVariableInstancer>`.
---
## `Vector2Reference`
Reference of type `Vector2`. Inherits from `EquatableAtomReference<Vector2, Vector2Pair, Vector2Constant, Vector2Variable, Vector2Event, Vector2PairEvent, Vector2Vector2Function, Vector2VariableInstancer>`.
---
## `BoolReference`
Reference of type `bool`. Inherits from `EquatableAtomReference<bool, BoolPair, BoolConstant, BoolVariable, BoolEvent, BoolPairEvent, BoolBoolFunction, BoolVariableInstancer>`.
---
## `ColorReference`
Reference of type `Color`. Inherits from `EquatableAtomReference<Color, ColorPair, ColorConstant, ColorVariable, ColorEvent, ColorPairEvent, ColorColorFunction, ColorVariableInstancer>`.
---
## `ColliderReference`
Reference of type `Collider`. Inherits from `AtomReference<Collider, ColliderPair, ColliderConstant, ColliderVariable, ColliderEvent, ColliderPairEvent, ColliderColliderFunction, ColliderVariableInstancer>`.
---
## `IntReference`
Reference of type `int`. Inherits from `EquatableAtomReference<int, IntPair, IntConstant, IntVariable, IntEvent, IntPairEvent, IntIntFunction, IntVariableInstancer>`.
---
## `Collider2DReference`
Reference of type `Collider2D`. Inherits from `AtomReference<Collider2D, Collider2DPair, Collider2DConstant, Collider2DVariable, Collider2DEvent, Collider2DPairEvent, Collider2DCollider2DFunction, Collider2DVariableInstancer>`.
---
## `GameObjectReference`
Reference of type `GameObject`. Inherits from `AtomReference<GameObject, GameObjectPair, GameObjectConstant, GameObjectVariable, GameObjectEvent, GameObjectPairEvent, GameObjectGameObjectFunction, GameObjectVariableInstancer>`.
---
## `Vector3Reference`
Reference of type `Vector3`. Inherits from `EquatableAtomReference<Vector3, Vector3Pair, Vector3Constant, Vector3Variable, Vector3Event, Vector3PairEvent, Vector3Vector3Function, Vector3VariableInstancer>`.
---
## `StringReference`
Reference of type `string`. Inherits from `EquatableAtomReference<string, StringPair, StringConstant, StringVariable, StringEvent, StringPairEvent, StringStringFunction, StringVariableInstancer>`.
---
## `GameObjectPair`
IPair of type `<GameObject>`. Inherits from `IPair<GameObject>`.
---
## `Vector3Pair`
IPair of type `<Vector3>`. Inherits from `IPair<Vector3>`.
---
## `Collider2DPair`
IPair of type `<Collider2D>`. Inherits from `IPair<Collider2D>`.
---
## `ColorPair`
IPair of type `<Color>`. Inherits from `IPair<Color>`.
---
## `ColliderPair`
IPair of type `<Collider>`. Inherits from `IPair<Collider>`.
---
## `IntPair`
IPair of type `<int>`. Inherits from `IPair<int>`.
---
## `Vector2Pair`
IPair of type `<Vector2>`. Inherits from `IPair<Vector2>`.
---
## `FloatPair`
IPair of type `<float>`. Inherits from `IPair<float>`.
---
## `BoolPair`
IPair of type `<bool>`. Inherits from `IPair<bool>`.
---
## `StringPair`
IPair of type `<string>`. Inherits from `IPair<string>`.
---
## `BoolPairUnityEvent`
None generic Unity Event of type `BoolPair`. Inherits from `UnityEvent<BoolPair>`.
---
## `ColliderPairUnityEvent`
None generic Unity Event of type `ColliderPair`. Inherits from `UnityEvent<ColliderPair>`.
---
## `GameObjectPairUnityEvent`
None generic Unity Event of type `GameObjectPair`. Inherits from `UnityEvent<GameObjectPair>`.
---
## `GameObjectUnityEvent`
None generic Unity Event of type `GameObject`. Inherits from `UnityEvent<GameObject>`.
---
## `Collider2DUnityEvent`
None generic Unity Event of type `Collider2D`. Inherits from `UnityEvent<Collider2D>`.
---
## `ColliderUnityEvent`
None generic Unity Event of type `Collider`. Inherits from `UnityEvent<Collider>`.
---
## `BoolUnityEvent`
None generic Unity Event of type `bool`. Inherits from `UnityEvent<bool>`.
---
## `IntPairUnityEvent`
None generic Unity Event of type `IntPair`. Inherits from `UnityEvent<IntPair>`.
---
## `Vector2UnityEvent`
None generic Unity Event of type `Vector2`. Inherits from `UnityEvent<Vector2>`.
---
## `FloatUnityEvent`
None generic Unity Event of type `float`. Inherits from `UnityEvent<float>`.
---
## `IntUnityEvent`
None generic Unity Event of type `int`. Inherits from `UnityEvent<int>`.
---
## `Vector3UnityEvent`
None generic Unity Event of type `Vector3`. Inherits from `UnityEvent<Vector3>`.
---
## `StringPairUnityEvent`
None generic Unity Event of type `StringPair`. Inherits from `UnityEvent<StringPair>`.
---
## `ColorPairUnityEvent`
None generic Unity Event of type `ColorPair`. Inherits from `UnityEvent<ColorPair>`.
---
## `ColorUnityEvent`
None generic Unity Event of type `Color`. Inherits from `UnityEvent<Color>`.
---
## `AtomBaseVariableUnityEvent`
None generic Unity Event of type `AtomBaseVariable`. Inherits from `UnityEvent<AtomBaseVariable>`.
---
## `StringUnityEvent`
None generic Unity Event of type `string`. Inherits from `UnityEvent<string>`.
---
## `FloatPairUnityEvent`
None generic Unity Event of type `FloatPair`. Inherits from `UnityEvent<FloatPair>`.
---
## `Vector3PairUnityEvent`
None generic Unity Event of type `Vector3Pair`. Inherits from `UnityEvent<Vector3Pair>`.
---
## `Collider2DPairUnityEvent`
None generic Unity Event of type `Collider2DPair`. Inherits from `UnityEvent<Collider2DPair>`.
---
## `Vector2PairUnityEvent`
None generic Unity Event of type `Vector2Pair`. Inherits from `UnityEvent<Vector2Pair>`.
---
## `GameObjectConstant`
Constant of type `GameObject`. Inherits from `AtomBaseVariable<GameObject>`.
---
## `Collider2DConstant`
Constant of type `Collider2D`. Inherits from `AtomBaseVariable<Collider2D>`.
---
## `BoolConstant`
Constant of type `bool`. Inherits from `AtomBaseVariable<bool>`.
---
## `Vector2Constant`
Constant of type `Vector2`. Inherits from `AtomBaseVariable<Vector2>`.
---
## `ColliderConstant`
Constant of type `Collider`. Inherits from `AtomBaseVariable<Collider>`.
---
## `IntConstant`
Constant of type `int`. Inherits from `AtomBaseVariable<int>`.
---
## `FloatConstant`
Constant of type `float`. Inherits from `AtomBaseVariable<float>`.
---
## `StringConstant`
Constant of type `string`. Inherits from `AtomBaseVariable<string>`.
---
## `ColorConstant`
Constant of type `Color`. Inherits from `AtomBaseVariable<Color>`.
---
## `Vector3Constant`
Constant of type `Vector3`. Inherits from `AtomBaseVariable<Vector3>`.
---
## `ColorPairEventReference`
Event Reference of type `ColorPair`. Inherits from `AtomEventReference<ColorPair, ColorVariable, ColorPairEvent, ColorVariableInstancer, ColorPairEventInstancer>`.
---
## `StringEventReference`
Event Reference of type `string`. Inherits from `AtomEventReference<string, StringVariable, StringEvent, StringVariableInstancer, StringEventInstancer>`.
---
## `Collider2DPairEventReference`
Event Reference of type `Collider2DPair`. Inherits from `AtomEventReference<Collider2DPair, Collider2DVariable, Collider2DPairEvent, Collider2DVariableInstancer, Collider2DPairEventInstancer>`.
---
## `IntEventReference`
Event Reference of type `int`. Inherits from `AtomEventReference<int, IntVariable, IntEvent, IntVariableInstancer, IntEventInstancer>`.
---
## `ColliderEventReference`
Event Reference of type `Collider`. Inherits from `AtomEventReference<Collider, ColliderVariable, ColliderEvent, ColliderVariableInstancer, ColliderEventInstancer>`.
---
## `BoolEventReference`
Event Reference of type `bool`. Inherits from `AtomEventReference<bool, BoolVariable, BoolEvent, BoolVariableInstancer, BoolEventInstancer>`.
---
## `GameObjectEventReference`
Event Reference of type `GameObject`. Inherits from `AtomEventReference<GameObject, GameObjectVariable, GameObjectEvent, GameObjectVariableInstancer, GameObjectEventInstancer>`.
---
## `ColliderPairEventReference`
Event Reference of type `ColliderPair`. Inherits from `AtomEventReference<ColliderPair, ColliderVariable, ColliderPairEvent, ColliderVariableInstancer, ColliderPairEventInstancer>`.
---
## `Vector2EventReference`
Event Reference of type `Vector2`. Inherits from `AtomEventReference<Vector2, Vector2Variable, Vector2Event, Vector2VariableInstancer, Vector2EventInstancer>`.
---
## `BoolPairEventReference`
Event Reference of type `BoolPair`. Inherits from `AtomEventReference<BoolPair, BoolVariable, BoolPairEvent, BoolVariableInstancer, BoolPairEventInstancer>`.
---
## `StringPairEventReference`
Event Reference of type `StringPair`. Inherits from `AtomEventReference<StringPair, StringVariable, StringPairEvent, StringVariableInstancer, StringPairEventInstancer>`.
---
## `Collider2DEventReference`
Event Reference of type `Collider2D`. Inherits from `AtomEventReference<Collider2D, Collider2DVariable, Collider2DEvent, Collider2DVariableInstancer, Collider2DEventInstancer>`.
---
## `IntPairEventReference`
Event Reference of type `IntPair`. Inherits from `AtomEventReference<IntPair, IntVariable, IntPairEvent, IntVariableInstancer, IntPairEventInstancer>`.
---
## `Vector2PairEventReference`
Event Reference of type `Vector2Pair`. Inherits from `AtomEventReference<Vector2Pair, Vector2Variable, Vector2PairEvent, Vector2VariableInstancer, Vector2PairEventInstancer>`.
---
## `FloatPairEventReference`
Event Reference of type `FloatPair`. Inherits from `AtomEventReference<FloatPair, FloatVariable, FloatPairEvent, FloatVariableInstancer, FloatPairEventInstancer>`.
---
## `Vector3EventReference`
Event Reference of type `Vector3`. Inherits from `AtomEventReference<Vector3, Vector3Variable, Vector3Event, Vector3VariableInstancer, Vector3EventInstancer>`.
---
## `FloatEventReference`
Event Reference of type `float`. Inherits from `AtomEventReference<float, FloatVariable, FloatEvent, FloatVariableInstancer, FloatEventInstancer>`.
---
## `Vector3PairEventReference`
Event Reference of type `Vector3Pair`. Inherits from `AtomEventReference<Vector3Pair, Vector3Variable, Vector3PairEvent, Vector3VariableInstancer, Vector3PairEventInstancer>`.
---
## `GameObjectPairEventReference`
Event Reference of type `GameObjectPair`. Inherits from `AtomEventReference<GameObjectPair, GameObjectVariable, GameObjectPairEvent, GameObjectVariableInstancer, GameObjectPairEventInstancer>`.
---
## `ColorEventReference`
Event Reference of type `Color`. Inherits from `AtomEventReference<Color, ColorVariable, ColorEvent, ColorVariableInstancer, ColorEventInstancer>`.
---
## `Vector2VariableInstancer`
Variable Instancer of type `Vector2`. Inherits from `AtomVariableInstancer<Vector2Variable, Vector2Pair, Vector2, Vector2Event, Vector2PairEvent, Vector2Vector2Function>`.
---
## `Vector3VariableInstancer`
Variable Instancer of type `Vector3`. Inherits from `AtomVariableInstancer<Vector3Variable, Vector3Pair, Vector3, Vector3Event, Vector3PairEvent, Vector3Vector3Function>`.
---
## `FloatVariableInstancer`
Variable Instancer of type `float`. Inherits from `AtomVariableInstancer<FloatVariable, FloatPair, float, FloatEvent, FloatPairEvent, FloatFloatFunction>`.
---
## `BoolVariableInstancer`
Variable Instancer of type `bool`. Inherits from `AtomVariableInstancer<BoolVariable, BoolPair, bool, BoolEvent, BoolPairEvent, BoolBoolFunction>`.
---
## `Collider2DVariableInstancer`
Variable Instancer of type `Collider2D`. Inherits from `AtomVariableInstancer<Collider2DVariable, Collider2DPair, Collider2D, Collider2DEvent, Collider2DPairEvent, Collider2DCollider2DFunction>`.
---
## `GameObjectVariableInstancer`
Variable Instancer of type `GameObject`. Inherits from `AtomVariableInstancer<GameObjectVariable, GameObjectPair, GameObject, GameObjectEvent, GameObjectPairEvent, GameObjectGameObjectFunction>`.
---
## `ColorVariableInstancer`
Variable Instancer of type `Color`. Inherits from `AtomVariableInstancer<ColorVariable, ColorPair, Color, ColorEvent, ColorPairEvent, ColorColorFunction>`.
---
## `ColliderVariableInstancer`
Variable Instancer of type `Collider`. Inherits from `AtomVariableInstancer<ColliderVariable, ColliderPair, Collider, ColliderEvent, ColliderPairEvent, ColliderColliderFunction>`.
---
## `IntVariableInstancer`
Variable Instancer of type `int`. Inherits from `AtomVariableInstancer<IntVariable, IntPair, int, IntEvent, IntPairEvent, IntIntFunction>`.
---
## `StringVariableInstancer`
Variable Instancer of type `string`. Inherits from `AtomVariableInstancer<StringVariable, StringPair, string, StringEvent, StringPairEvent, StringStringFunction>`.
---
## `Vector3EventInstancer`
Event Instancer of type `Vector3`. Inherits from `AtomEventInstancer<Vector3, Vector3Event>`.
---
## `FloatEventInstancer`
Event Instancer of type `float`. Inherits from `AtomEventInstancer<float, FloatEvent>`.
---
## `Vector3PairEventInstancer`
Event Instancer of type `Vector3Pair`. Inherits from `AtomEventInstancer<Vector3Pair, Vector3PairEvent>`.
---
## `GameObjectPairEventInstancer`
Event Instancer of type `GameObjectPair`. Inherits from `AtomEventInstancer<GameObjectPair, GameObjectPairEvent>`.
---
## `ColorEventInstancer`
Event Instancer of type `Color`. Inherits from `AtomEventInstancer<Color, ColorEvent>`.
---
## `Vector2EventInstancer`
Event Instancer of type `Vector2`. Inherits from `AtomEventInstancer<Vector2, Vector2Event>`.
---
## `BoolPairEventInstancer`
Event Instancer of type `BoolPair`. Inherits from `AtomEventInstancer<BoolPair, BoolPairEvent>`.
---
## `StringPairEventInstancer`
Event Instancer of type `StringPair`. Inherits from `AtomEventInstancer<StringPair, StringPairEvent>`.
---
## `Collider2DEventInstancer`
Event Instancer of type `Collider2D`. Inherits from `AtomEventInstancer<Collider2D, Collider2DEvent>`.
---
## `IntPairEventInstancer`
Event Instancer of type `IntPair`. Inherits from `AtomEventInstancer<IntPair, IntPairEvent>`.
---
## `Vector2PairEventInstancer`
Event Instancer of type `Vector2Pair`. Inherits from `AtomEventInstancer<Vector2Pair, Vector2PairEvent>`.
---
## `FloatPairEventInstancer`
Event Instancer of type `FloatPair`. Inherits from `AtomEventInstancer<FloatPair, FloatPairEvent>`.
---
## `ColliderEventInstancer`
Event Instancer of type `Collider`. Inherits from `AtomEventInstancer<Collider, ColliderEvent>`.
---
## `BoolEventInstancer`
Event Instancer of type `bool`. Inherits from `AtomEventInstancer<bool, BoolEvent>`.
---
## `GameObjectEventInstancer`
Event Instancer of type `GameObject`. Inherits from `AtomEventInstancer<GameObject, GameObjectEvent>`.
---
## `ColliderPairEventInstancer`
Event Instancer of type `ColliderPair`. Inherits from `AtomEventInstancer<ColliderPair, ColliderPairEvent>`.
---
## `ColorPairEventInstancer`
Event Instancer of type `ColorPair`. Inherits from `AtomEventInstancer<ColorPair, ColorPairEvent>`.
---
## `StringEventInstancer`
Event Instancer of type `string`. Inherits from `AtomEventInstancer<string, StringEvent>`.
---
## `Collider2DPairEventInstancer`
Event Instancer of type `Collider2DPair`. Inherits from `AtomEventInstancer<Collider2DPair, Collider2DPairEvent>`.
---
## `IntEventInstancer`
Event Instancer of type `int`. Inherits from `AtomEventInstancer<int, IntEvent>`.
---
## `BoolVariable`
Variable of type `bool`. Inherits from `EquatableAtomVariable<bool, BoolPair, BoolEvent, BoolPairEvent, BoolBoolFunction>`.
---
## `Vector2Variable`
Variable of type `Vector2`. Inherits from `EquatableAtomVariable<Vector2, Vector2Pair, Vector2Event, Vector2PairEvent, Vector2Vector2Function>`.
### Methods
#### `MultiplyBy(System.Single)`
Multiply variable by value.
##### Parameters
- `value` - Value to multiple by.
---
#### `MultiplyBy(UnityAtoms.AtomBaseVariable{System.Single})`
Multiply variable by Variable value.
##### Parameters
- `variable` - Variable with value to multiple by.
---
#### `DivideBy(System.Single)`
Divide Variable by value.
##### Parameters
- `value` - Value to divide by.
---
#### `DivideBy(UnityAtoms.AtomBaseVariable{System.Single})`
Divide Variable by Variable value.
##### Parameters
- `variable` - Variable value to divide by.
---
## `ColliderVariable`
Variable of type `Collider`. Inherits from `AtomVariable<Collider, ColliderPair, ColliderEvent, ColliderPairEvent, ColliderColliderFunction>`.
---
## `IntVariable`
Variable of type `int`. Inherits from `EquatableAtomVariable<int, IntPair, IntEvent, IntPairEvent, IntIntFunction>`.
### Methods
#### `Add(System.Int32)`
Add value to Variable.
##### Parameters
- `value` - Value to add.
---
#### `Add(UnityAtoms.AtomBaseVariable{System.Int32})`
Add variable value to Variable.
##### Parameters
- `variable` - Variable with value to add.
---
#### `Subtract(System.Int32)`
Subtract value from Variable.
##### Parameters
- `value` - Value to subtract.
---
#### `Subtract(UnityAtoms.AtomBaseVariable{System.Int32})`
Subtract variable value from Variable.
##### Parameters
- `variable` - Variable with value to subtract.
---
#### `MultiplyBy(System.Int32)`
Multiply variable by value.
##### Parameters
- `value` - Value to multiple by.
---
#### `MultiplyBy(UnityAtoms.AtomBaseVariable{System.Int32})`
Multiply variable by Variable value.
##### Parameters
- `variable` - Variable with value to multiple by.
---
#### `DivideBy(System.Int32)`
Divide Variable by value.
##### Parameters
- `value` - Value to divide by.
---
#### `DivideBy(UnityAtoms.AtomBaseVariable{System.Int32})`
Divide Variable by Variable value.
##### Parameters
- `variable` - Variable value to divide by.
---
## `FloatVariable`
Variable of type `float`. Inherits from `EquatableAtomVariable<float, FloatPair, FloatEvent, FloatPairEvent, FloatFloatFunction>`.
### Methods
#### `Add(System.Single)`
Add value to Variable.
##### Parameters
- `value` - Value to add.
---
#### `Add(UnityAtoms.AtomBaseVariable{System.Single})`
Add variable value to Variable.
##### Parameters
- `variable` - Variable with value to add.
---
#### `Subtract(System.Single)`
Subtract value from Variable.
##### Parameters
- `value` - Value to subtract.
---
#### `Subtract(UnityAtoms.AtomBaseVariable{System.Single})`
Subtract variable value from Variable.
##### Parameters
- `variable` - Variable with value to subtract.
---
#### `MultiplyBy(System.Single)`
Multiply variable by value.
##### Parameters
- `value` - Value to multiple by.
---
#### `MultiplyBy(UnityAtoms.AtomBaseVariable{System.Single})`
Multiply variable by Variable value.
##### Parameters
- `variable` - Variable with value to multiple by.
---
#### `DivideBy(System.Single)`
Divide Variable by value.
##### Parameters
- `value` - Value to divide by.
---
#### `DivideBy(UnityAtoms.AtomBaseVariable{System.Single})`
Divide Variable by Variable value.
##### Parameters
- `variable` - Variable value to divide by.
---
## `StringVariable`
Variable of type `string`. Inherits from `EquatableAtomVariable<string, StringPair, StringEvent, StringPairEvent, StringStringFunction>`.
---
## `GameObjectVariable`
Variable of type `GameObject`. Inherits from `AtomVariable<GameObject, GameObjectPair, GameObjectEvent, GameObjectPairEvent, GameObjectGameObjectFunction>`.
---
## `Collider2DVariable`
Variable of type `Collider2D`. Inherits from `AtomVariable<Collider2D, Collider2DPair, Collider2DEvent, Collider2DPairEvent, Collider2DCollider2DFunction>`.
---
## `ColorVariable`
Variable of type `Color`. Inherits from `EquatableAtomVariable<Color, ColorPair, ColorEvent, ColorPairEvent, ColorColorFunction>`.
### Methods
#### `SetAlpha(System.Single)`
Set Alpha of Color by value.
##### Parameters
- `value` - New alpha value.
---
#### `SetAlpha(UnityAtoms.AtomBaseVariable{System.Single})`
Set Alpha of Color by Variable value.
##### Parameters
- `variable` - New alpha Variable value.
---
## `Vector3Variable`
Variable of type `Vector3`. Inherits from `EquatableAtomVariable<Vector3, Vector3Pair, Vector3Event, Vector3PairEvent, Vector3Vector3Function>`.
### Methods
#### `MultiplyBy(System.Single)`
Multiply variable by value.
##### Parameters
- `value` - Value to multiple by.
---
#### `MultiplyBy(UnityAtoms.AtomBaseVariable{System.Single})`
Multiply variable by Variable value.
##### Parameters
- `variable` - Variable with value to multiple by.
---
#### `DivideBy(System.Single)`
Divide Variable by value.
##### Parameters
- `value` - Value to divide by.
---
#### `DivideBy(UnityAtoms.AtomBaseVariable{System.Single})`
Divide Variable by Variable value.
##### Parameters
- `variable` - Variable value to divide by.
---
## `AtomBaseVariableAction`
Action of type `AtomBaseVariable`. Inherits from `AtomAction<AtomBaseVariable>`.
---
## `GameObjectAction`
Action of type `GameObject`. Inherits from `AtomAction<GameObject>`.
---
## `Vector2PairAction`
Action of type `Vector2Pair`. Inherits from `AtomAction<Vector2Pair>`.
---
## `Vector2Action`
Action of type `Vector2`. Inherits from `AtomAction<Vector2>`.
---
## `Vector3Action`
Action of type `Vector3`. Inherits from `AtomAction<Vector3>`.
---
## `FloatPairAction`
Action of type `FloatPair`. Inherits from `AtomAction<FloatPair>`.
---
## `ColorAction`
Action of type `Color`. Inherits from `AtomAction<Color>`.
---
## `IntPairAction`
Action of type `IntPair`. Inherits from `AtomAction<IntPair>`.
---
## `Vector3PairAction`
Action of type `Vector3Pair`. Inherits from `AtomAction<Vector3Pair>`.
---
## `ColliderAction`
Action of type `Collider`. Inherits from `AtomAction<Collider>`.
---
## `StringAction`
Action of type `string`. Inherits from `AtomAction<string>`.
---
## `Collider2DPairAction`
Action of type `Collider2DPair`. Inherits from `AtomAction<Collider2DPair>`.
---
## `BoolPairAction`
Action of type `BoolPair`. Inherits from `AtomAction<BoolPair>`.
---
## `ColliderPairAction`
Action of type `ColliderPair`. Inherits from `AtomAction<ColliderPair>`.
---
## `BoolAction`
Action of type `bool`. Inherits from `AtomAction<bool>`.
---
## `GameObjectPairAction`
Action of type `GameObjectPair`. Inherits from `AtomAction<GameObjectPair>`.
---
## `IntAction`
Action of type `int`. Inherits from `AtomAction<int>`.
---
## `StringPairAction`
Action of type `StringPair`. Inherits from `AtomAction<StringPair>`.
---
## `ColorPairAction`
Action of type `ColorPair`. Inherits from `AtomAction<ColorPair>`.
---
## `FloatAction`
Action of type `float`. Inherits from `AtomAction<float>`.
---
## `Collider2DAction`
Action of type `Collider2D`. Inherits from `AtomAction<Collider2D>`.
---
## `Collider2DCollider2DFunction`
Function x 2 of type `Collider2D`. Inherits from `AtomFunction<Collider2D, Collider2D>`.
---
## `GameObjectGameObjectFunction`
Function x 2 of type `GameObject`. Inherits from `AtomFunction<GameObject, GameObject>`.
---
## `FloatFloatFunction`
Function x 2 of type `float`. Inherits from `AtomFunction<float, float>`.
---
## `StringStringFunction`
Function x 2 of type `string`. Inherits from `AtomFunction<string, string>`.
---
## `IntIntFunction`
Function x 2 of type `int`. Inherits from `AtomFunction<int, int>`.
---
## `ColliderColliderFunction`
Function x 2 of type `Collider`. Inherits from `AtomFunction<Collider, Collider>`.
---
## `Vector2Vector2Function`
Function x 2 of type `Vector2`. Inherits from `AtomFunction<Vector2, Vector2>`.
---
## `BoolBoolFunction`
Function x 2 of type `bool`. Inherits from `AtomFunction<bool, bool>`.
---
## `Vector3Vector3Function`
Function x 2 of type `Vector3`. Inherits from `AtomFunction<Vector3, Vector3>`.
---
## `ColorColorFunction`
Function x 2 of type `Color`. Inherits from `AtomFunction<Color, Color>`.
---
## `FloatPairEvent`
Event of type `FloatPair`. Inherits from `AtomEvent<FloatPair>`.
---
## `Vector2PairEvent`
Event of type `Vector2Pair`. Inherits from `AtomEvent<Vector2Pair>`.
---
## `ColliderEvent`
Event of type `Collider`. Inherits from `AtomEvent<Collider>`.
---
## `GameObjectEvent`
Event of type `GameObject`. Inherits from `AtomEvent<GameObject>`.
---
## `BoolPairEvent`
Event of type `BoolPair`. Inherits from `AtomEvent<BoolPair>`.
---
## `ColorPairEvent`
Event of type `ColorPair`. Inherits from `AtomEvent<ColorPair>`.
---
## `ColliderPairEvent`
Event of type `ColliderPair`. Inherits from `AtomEvent<ColliderPair>`.
---
## `IntPairEvent`
Event of type `IntPair`. Inherits from `AtomEvent<IntPair>`.
---
## `GameObjectPairEvent`
Event of type `GameObjectPair`. Inherits from `AtomEvent<GameObjectPair>`.
---
## `Vector3Event`
Event of type `Vector3`. Inherits from `AtomEvent<Vector3>`.
---
## `Collider2DPairEvent`
Event of type `Collider2DPair`. Inherits from `AtomEvent<Collider2DPair>`.
---
## `BoolEvent`
Event of type `bool`. Inherits from `AtomEvent<bool>`.
---
## `StringEvent`
Event of type `string`. Inherits from `AtomEvent<string>`.
---
## `Vector3PairEvent`
Event of type `Vector3Pair`. Inherits from `AtomEvent<Vector3Pair>`.
---
## `AtomBaseVariableEvent`
Event of type `AtomBaseVariable`. Inherits from `AtomEvent<AtomBaseVariable>`.
---
## `ColorEvent`
Event of type `Color`. Inherits from `AtomEvent<Color>`.
---
## `Vector2Event`
Event of type `Vector2`. Inherits from `AtomEvent<Vector2>`.
---
## `StringPairEvent`
Event of type `StringPair`. Inherits from `AtomEvent<StringPair>`.
---
## `FloatEvent`
Event of type `float`. Inherits from `AtomEvent<float>`.
---
## `Collider2DEvent`
Event of type `Collider2D`. Inherits from `AtomEvent<Collider2D>`.
---
## `IntEvent`
Event of type `int`. Inherits from `AtomEvent<int>`.
---
## `StringReferenceAtomBaseVariableDictionary`
A SerializableDictionary of type StringReference and AtomBaseVariable. Used by AtomCollection.
### Methods
#### `Get<T>(System.String)`
Generic getter.
#### Type Parameters
- `T` - The expected type of the value you want to retrieve.
##### Parameters
- `key` - The key associated with the value you want to retrieve.
##### Returns
The value of type T if found, otherwise null.
---
#### `Get<T>(UnityAtoms.AtomBaseVariable{System.String})`
Generic getter.
#### Type Parameters
- `T` - The expected type of the value you want to retrieve.
##### Parameters
- `key` - The key associated with the value you want to retrieve.
##### Returns
The value of type T if found, otherwise null.
---
#### `Add(System.String,UnityAtoms.AtomBaseVariable)`
Add value and its associated key to the dictionary.
##### Parameters
- `key` - The key associated with the value.
- `value` - The value to add.
---
#### `Add(UnityAtoms.AtomBaseVariable{System.String},UnityAtoms.AtomBaseVariable)`
Add value and its associated key to the dictionary.
##### Parameters
- `key` - The key associated with the value.
- `value` - The value to add.
---
#### `Remove(System.String)`
Remove item by key from the collection.
##### Parameters
- `key` - The key that you want to remove.
##### Returns
True if it removed a value from the collection, otherwise false.
---
#### `Remove(UnityAtoms.AtomBaseVariable{System.String})`
Remove item by key from the collection.
##### Parameters
- `key` - The key that you want to remove.
##### Returns
True if it removed a value from the collection, otherwise false.
---
## `SerializableDictionary<K,V>`
#### Type Parameters
- `K` - Key type.
- `V` - Value type.
A Serializable dictionary used by AtomCollection.
### Variables
#### `_duplicateKeyIndices`
Needed in order to keep track of duplicate keys in the dictionary.
---
## `AtomList`
A List of Atom Variables (AtomBaseVariable).
### Properties
#### `Added`
Event for when and item is added to the list.
---
#### `Removed`
Event for when and item is removed from the list.
---
#### `Cleared`
Event for when the list is cleared.
### Methods
#### `GetValue`
Get value as an `IAtomList`. Needed in order to inject Lists into the Variable Instancer class.
##### Returns
The value as an `IAtomList`.
---
#### `ObserveAdd`
Make the add event into an `IObservable<T>`. Makes List's add Event compatible with for example UniRx.
##### Returns
The add Event as an `IObservable<T>`.
---
#### `ObserveRemove`
Make the remove event into an `IObservable<T>`. Makes List's remove Event compatible with for example UniRx.
##### Returns
The remove Event as an `IObservable<T>`.
---
#### `ObserveClear`
Make the clear event into an `IObservable<Void>`. Makes List's clear Event compatible with for example UniRx.
##### Returns
The clear Event as an `IObservable<Void>`.
---
## `AtomCollection`
A Collection / Dictionary of Atom Variables (AtomBaseVariable).
### Properties
#### `Added`
Event for when and item is added to the collection.
---
#### `Removed`
Event for when and item is removed from the collection.
---
#### `Cleared`
Event for when the collection is cleared.
### Methods
#### `GetValue`
Get value as an `IAtomCollection`. Needed in order to inject Collection into the Variable Instancer class.
##### Returns
The value as an `IAtomCollection`.
---
#### `ObserveAdd`
Make the add event into an `IObservable<T>`. Makes Collection's add Event compatible with for example UniRx.
##### Returns
The add Event as an `IObservable<T>`.
---
#### `ObserveRemove`
Make the remove event into an `IObservable<T>`. Makes Collection's remove Event compatible with for example UniRx.
##### Returns
The remove Event as an `IObservable<T>`.
---
#### `ObserveClear`
Make the clear event into an `IObservable<Void>`. Makes Collection's clear Event compatible with for example UniRx.
##### Returns
The clear Event as an `IObservable<Void>`.
---
## `AtomBaseVariableList`
A List of type AtomBaseVariable. Used by AtomList.
### Methods
#### `Get<T>(System.Int32)`
Generic getter.
#### Type Parameters
- `T` - The expected type of the value you want to retrieve.
##### Parameters
- `index` - The index you want to retrieve.
##### Returns
The value of type T at specified index.
---
#### `Get<T>(UnityAtoms.AtomBaseVariable{System.Int32})`
Generic getter.
#### Type Parameters
- `T` - The expected type of the value you want to retrieve.
##### Parameters
- `index` - The index you want to retrieve.
##### Returns
The value of type T at specified index.
---
#### `Add(UnityAtoms.AtomBaseVariable)`
Add an item to the list.
##### Parameters
- `item` - The item to add.
---
#### `Remove(UnityAtoms.AtomBaseVariable)`
Remove an item from the list.
##### Parameters
- `item` - The item to remove.
##### Returns
True if it was removed, otherwise false..
---
#### `RemoveAt(System.Int32)`
Remove an item at provided index.
##### Parameters
- `index` - The index to remove item at.
---
#### `Insert(System.Int32,UnityAtoms.AtomBaseVariable)`
Insert item at index.
##### Parameters
- `index` - Index to insert item at.
- `item` - Item to insert.
---
#### `Clear`
Ckear list.
---
## `FloatValueList`
Value List of type `float`. Inherits from `AtomValueList<float, FloatEvent>`.
---
## `Vector2ValueList`
Value List of type `Vector2`. Inherits from `AtomValueList<Vector2, Vector2Event>`.
---
## `BoolValueList`
Value List of type `bool`. Inherits from `AtomValueList<bool, BoolEvent>`.
---
## `ColorValueList`
Value List of type `Color`. Inherits from `AtomValueList<Color, ColorEvent>`.
---
## `ColliderValueList`
Value List of type `Collider`. Inherits from `AtomValueList<Collider, ColliderEvent>`.
---
## `IntValueList`
Value List of type `int`. Inherits from `AtomValueList<int, IntEvent>`.
---
## `GameObjectValueList`
Value List of type `GameObject`. Inherits from `AtomValueList<GameObject, GameObjectEvent>`.
---
## `Collider2DValueList`
Value List of type `Collider2D`. Inherits from `AtomValueList<Collider2D, Collider2DEvent>`.
---
## `Vector3ValueList`
Value List of type `Vector3`. Inherits from `AtomValueList<Vector3, Vector3Event>`.
---
## `StringValueList`
Value List of type `string`. Inherits from `AtomValueList<string, StringEvent>`.
---
## `SetVector2VariableValue`
Set variable value Action of type `Vector2`. Inherits from `SetVariableValue<Vector2, Vector2Pair, Vector2Variable, Vector2Constant, Vector2Reference, Vector2Event, Vector2PairEvent, Vector2VariableInstancer>`.
---
## `SetColorVariableValue`
Set variable value Action of type `Color`. Inherits from `SetVariableValue<Color, ColorPair, ColorVariable, ColorConstant, ColorReference, ColorEvent, ColorPairEvent, ColorVariableInstancer>`.
---
## `SetCollider2DVariableValue`
Set variable value Action of type `Collider2D`. Inherits from `SetVariableValue<Collider2D, Collider2DPair, Collider2DVariable, Collider2DConstant, Collider2DReference, Collider2DEvent, Collider2DPairEvent, Collider2DVariableInstancer>`.
---
## `SetBoolVariableValue`
Set variable value Action of type `bool`. Inherits from `SetVariableValue<bool, BoolPair, BoolVariable, BoolConstant, BoolReference, BoolEvent, BoolPairEvent, BoolVariableInstancer>`.
---
## `SetFloatVariableValue`
Set variable value Action of type `float`. Inherits from `SetVariableValue<float, FloatPair, FloatVariable, FloatConstant, FloatReference, FloatEvent, FloatPairEvent, FloatVariableInstancer>`.
---
## `SetVector3VariableValue`
Set variable value Action of type `Vector3`. Inherits from `SetVariableValue<Vector3, Vector3Pair, Vector3Variable, Vector3Constant, Vector3Reference, Vector3Event, Vector3PairEvent, Vector3VariableInstancer>`.
---
## `SetGameObjectVariableValue`
Set variable value Action of type `GameObject`. Inherits from `SetVariableValue<GameObject, GameObjectPair, GameObjectVariable, GameObjectConstant, GameObjectReference, GameObjectEvent, GameObjectPairEvent, GameObjectVariableInstancer>`.
---
## `SetStringVariableValue`
Set variable value Action of type `string`. Inherits from `SetVariableValue<string, StringPair, StringVariable, StringConstant, StringReference, StringEvent, StringPairEvent, StringVariableInstancer>`.
---
## `SetIntVariableValue`
Set variable value Action of type `int`. Inherits from `SetVariableValue<int, IntPair, IntVariable, IntConstant, IntReference, IntEvent, IntPairEvent, IntVariableInstancer>`.
---
## `SetColliderVariableValue`
Set variable value Action of type `Collider`. Inherits from `SetVariableValue<Collider, ColliderPair, ColliderVariable, ColliderConstant, ColliderReference, ColliderEvent, ColliderPairEvent, ColliderVariableInstancer>`.
---
## `ClampInt`
An `AtomFunction<int, int>` that clamps the value using a min and a max value and returns it.
### Variables
#### `Min`
The minimum value.
---
#### `Max`
The maximum value.
---
## `ClampFloat`
An `AtomFunction<float, float>` that clamps the value using a min and a max value and returns it.
### Variables
#### `Min`
The minimum value.
---
#### `Max`
The maximum value.
---