private void GetNewRotationTrend(RotationDetails details) { if (!details.Active || details.RotationTrend != details.GetRotation()) { return; } details.IsPositiveTrend = !details.IsPositiveTrend; details.RotationTrend = details.IsPositiveTrend ? details.OriginalRotation + RotateVariance * (float)_random.NextDouble() : details.OriginalRotation - RotateVariance * (float)_random.NextDouble(); if (details.RotationTrend < 0) { details.RotationTrend += 360; } if (details.RotationTrend > 360) { details.RotationTrend -= 360; } }
public void Start() { _xAxisDetails = new AxisDetails(XAxis, x => transform.position = new Vector3(transform.position.x + x, transform.position.y, transform.position.z), () => transform.position.x); _yAxisDetails = new AxisDetails(YAxis, y => transform.position = new Vector3(transform.position.x, transform.position.y + y, transform.position.z), () => transform.position.y); _zAxisDetails = new AxisDetails(ZAxis, z => transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.z + z), () => transform.position.z); _xRotationDetails = new RotationDetails(XRotation, new List <bool> { true, false }.Random(), () => transform.eulerAngles.x); _yRotationDetails = new RotationDetails(YRotation, new List <bool> { true, false }.Random(), () => transform.eulerAngles.y); _zRotationDetails = new RotationDetails(ZRotation, new List <bool> { true, false }.Random(), () => transform.eulerAngles.z); _random = new Random(Guid.NewGuid().GetHashCode()); }