예제 #1
0
 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;
     }
 }
예제 #2
0
 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());
 }