Esempio n. 1
0
 public virtual void SetLength()
 {
     targetLength.SetValue(targetLength.GetValue() + InputManager.ChangeLengthInput * growRate * Time.deltaTime);
     if (actualLength >= targetLength.GetValue())
     {
         do
         {
             Vector2 vertex0     = verticies[0];
             Vector2 vertex1     = verticies[1];
             float   distance    = Vector2.Distance(vertex0, vertex1);
             float   extraAmount = actualLength - targetLength.GetValue();
             if (distance > 0 && extraAmount < distance && extraAmount > 0)
             {
                 verticies[0] += (vertex1 - vertex0).normalized * extraAmount;
                 actualLength -= extraAmount;
                 return;
             }
             else
             {
                 verticies.RemoveAt(0);
                 actualLength -= distance;
             }
         } while (actualLength >= targetLength.GetValue());
         // collider.points = verticies.ToArray();
     }
 }
Esempio n. 2
0
 public virtual float GetValue()
 {
     value.SetValue(value.GetValue() + timeSinceLastGetValue * changeAmountMultiplier);
     if ((value.GetValue() == value.valueRange.max && changeAmountMultiplier > 0) || (value.GetValue() == value.valueRange.min && changeAmountMultiplier < 0))
     {
         if (repeatType == RepeatType.Loop)
         {
             JumpToStart();
         }
         else if (repeatType == RepeatType.PingPong)
         {
             changeAmountMultiplier *= -1;
         }
     }
     timeSinceLastGetValue = 0;
     return(value.GetValue());
 }