Mmm… I just used an if statement, and encapsulated the rest of the oscillating code, my logic was that the flip side would nullify the effect altogether.
In other words IF period is greater than zero then DO ALL THIS STUFF and if it is not greater than zero (else) do nothing.
So in other words the oscillation will only react if there exists a number above 0 applied to the period float value.
visual studio did not complain at all… does this fall within the same or similar example that Ben gave about comparing floating point values, or is this approach acceptable?
(I was so proud for figuring it out all by myself too!)
if (period > 0)
{
float cycles = Time.time / period;
const float tau = Mathf.PI * 2f;
float rawSinWave = Mathf.Sin(cycles * tau);
movementFactor = rawSinWave / 2f + .5f;
Vector3 offset = movementVector * movementFactor;
transform.position = startingPos + offset;
}