EvolvingNatFloat
From Vintage Story Wiki
EvolvingNatFloat
A number generator whose return value changes over time according to a transform and factor.
Each sequential value is retrieved according to the first value and the sequence number.
To use EvolvingNatFloat, add the using statement for Vintagestory.API.MathTools.
Important note: The value of sequence should always satisfy sequence >= 0
Example in code
using Vintagestory.API.MathTools;
class Example
{
Example()
{
float factor = 1;
EvolvingNatFloat evolve;
evolve = new EvolvingNatFloat(
EnumTransformFunction.CLAMPEDPOSITIVESINUS,
factor
);
float firstValue = 5;
for (float sequence = firstValue; sequence < 100; sequence++)
{
// Retrieve each sequential value
float y = evolve.nextFloat(firstValue, sequence);
}
}
}
Transform variants
Overview | |
---|---|
Name | Explanation |
clampedpositivesinus | Clamped positive sine wave function. |
cosinus | Cosine wave function. |
identical | Identical to first value. |
inverselinear | Linear change in the direction of the first value. |
linearnullify | Linear change towards zero, then clamp at zero. |
linearreduce | Linear change in the opposite direction of the first value. |
quadratic | Quadratic function. |
root | Root function. |
sinus | Sine wave function. |
smoothstep | Smooth step function. |
Visual representation
For every representation except smoothstep, the factor = 1
For every representation except smoothstep, linearnullify, the initalValue = 1