コード例 #1
0
 public void UpdateStepProgress(float deltaTime, float stepSpeed, float shuffleDistance, SpineboyFootplanter.FootMovement forwardMovement, SpineboyFootplanter.FootMovement backwardMovement)
 {
     if (this.IsStepInProgress)
     {
         this.lerp += deltaTime * stepSpeed;
         float f    = this.worldPosNext.x - this.worldPosPrev.x;
         float num2 = Mathf.Sign(f);
         float num3 = Mathf.Abs(f);
         SpineboyFootplanter.FootMovement movement = (num2 <= 0f) ? backwardMovement : forwardMovement;
         this.worldPos.x = Mathf.Lerp(this.worldPosPrev.x, this.worldPosNext.x, movement.xMoveCurve.Evaluate(this.lerp));
         float num4 = Mathf.Lerp(this.worldPosPrev.y, this.worldPosNext.y, this.lerp);
         if (num3 > shuffleDistance)
         {
             float num5 = Mathf.Clamp((float)(num3 * 0.5f), (float)1f, (float)2f);
             this.worldPos.y = num4 + ((movement.raiseCurve.Evaluate(this.lerp) * movement.maxRaise) * num5);
         }
         else
         {
             this.lerp      += Time.deltaTime;
             this.worldPos.y = num4;
         }
         if (this.lerp > 1f)
         {
             this.lerp = 1f;
         }
     }
 }
コード例 #2
0
            public static float GetNewDisplacement(float otherLegDisplacementFromCenter, float comfyDistance, float minimumFootDistanceX, float maxNewStepDisplacement, SpineboyFootplanter.FootMovement forwardMovement, SpineboyFootplanter.FootMovement backwardMovement)
            {
                SpineboyFootplanter.FootMovement movement = (Mathf.Sign(otherLegDisplacementFromCenter) >= 0f) ? backwardMovement : forwardMovement;
                float num = UnityEngine.Random.Range(movement.minDistanceCompensate, movement.maxDistanceCompensate);
                float f   = otherLegDisplacementFromCenter * num;

                if ((Mathf.Abs(f) <= maxNewStepDisplacement) && (Mathf.Abs(otherLegDisplacementFromCenter) >= minimumFootDistanceX))
                {
                    return(f);
                }
                return((comfyDistance * Mathf.Sign(f)) * num);
            }