Esempio n. 1
0
 // Token: 0x06001B13 RID: 6931 RVA: 0x00072B36 File Offset: 0x00070D36
 public static float CalculatePositionYAtTime(float originY, float initialVelocityY, float t)
 {
     return(Trajectory.CalculatePositionYAtTime(originY, initialVelocityY, t, Trajectory.defaultGravity));
 }
Esempio n. 2
0
 // Token: 0x06001B15 RID: 6933 RVA: 0x00072B58 File Offset: 0x00070D58
 public static float CalculateInitialYSpeedForFlightDuration(float duration)
 {
     return(Trajectory.CalculateInitialYSpeedForFlightDuration(duration, Trajectory.defaultGravity));
 }
Esempio n. 3
0
 // Token: 0x06001B0F RID: 6927 RVA: 0x00072AD5 File Offset: 0x00070CD5
 public static float CalculateInitialYSpeedForHeight(float height)
 {
     return(Trajectory.CalculateInitialYSpeedForHeight(height, Trajectory.defaultGravity));
 }
Esempio n. 4
0
 // Token: 0x06001B11 RID: 6929 RVA: 0x00072AF3 File Offset: 0x00070CF3
 public static Vector3 CalculatePositionAtTime(Vector3 origin, Vector3 initialVelocity, float t)
 {
     return(Trajectory.CalculatePositionAtTime(origin, initialVelocity, t, Trajectory.defaultGravity));
 }
Esempio n. 5
0
 // Token: 0x06001B09 RID: 6921 RVA: 0x00072A95 File Offset: 0x00070C95
 public static float CalculateApex(float initialSpeed)
 {
     return(Trajectory.CalculateApex(initialSpeed, Trajectory.defaultGravity));
 }
Esempio n. 6
0
 // Token: 0x06001B0D RID: 6925 RVA: 0x00072AB5 File Offset: 0x00070CB5
 public static float CalculateInitialYSpeed(float timeToTarget, float destinationYOffset)
 {
     return(Trajectory.CalculateInitialYSpeed(timeToTarget, destinationYOffset, Trajectory.defaultGravity));
 }
Esempio n. 7
0
 // Token: 0x06001B19 RID: 6937 RVA: 0x00072B89 File Offset: 0x00070D89
 public static float CalculateGroundSpeedToClearDistance(float vSpeed, float distance)
 {
     return(Trajectory.CalculateGroundSpeedToClearDistance(vSpeed, distance, Trajectory.defaultGravity));
 }
Esempio n. 8
0
 // Token: 0x06001B1A RID: 6938 RVA: 0x00072B97 File Offset: 0x00070D97
 public static float CalculateGroundSpeedToClearDistance(float vSpeed, float distance, float gravity)
 {
     return(distance / Trajectory.CalculateFlightDuration(vSpeed, gravity));
 }
Esempio n. 9
0
 // Token: 0x06001B17 RID: 6935 RVA: 0x00072B70 File Offset: 0x00070D70
 public static float CalculateFlightDuration(float vSpeed)
 {
     return(Trajectory.CalculateFlightDuration(vSpeed, Trajectory.defaultGravity));
 }
        // Token: 0x06001894 RID: 6292 RVA: 0x000763A0 File Offset: 0x000745A0
        public void Update(float deltaTime)
        {
            if (this.transform)
            {
                this.currentPosition = this.transform.position;
            }
            Vector3 vector    = this.targetPosition - this.currentPosition;
            float   magnitude = vector.magnitude;

            if (magnitude == 0f)
            {
                this.moveVector = Vector3.zero;
            }
            else
            {
                float num  = this.body ? this.body.moveSpeed : 0f;
                float b    = this.body ? this.body.maxJumpHeight : 0f;
                float a    = 0f;
                float num2 = 0f;
                if (this.characterCollider)
                {
                    Bounds bounds = this.characterCollider.bounds;
                    a    = (bounds.max.y - this.currentPosition.y) * 0.5f;
                    num2 = bounds.min.y;
                }
                Vector3 vector2 = this.currentPosition;
                vector2.y += Mathf.Min(a, b);
                LayerMask mask = LayerIndex.world.mask | LayerIndex.defaultLayer.mask;
                float     num3 = this.lookAheadDistance;
                bool      flag = !Physics.Raycast(vector2, vector, num3, mask);
                Debug.DrawRay(vector2, vector.normalized * num3, flag ? Color.yellow : Color.red, deltaTime);
                float num4 = 0f;
                if (this.backupRestrictionTimer <= 0f)
                {
                    if (!flag)
                    {
                        float num5  = 45f;
                        bool  flag2 = !Physics.Raycast(vector2, Quaternion.Euler(0f, num5, 0f) * vector, num3, mask);
                        bool  flag3 = !Physics.Raycast(vector2, Quaternion.Euler(0f, -num5, 0f) * vector, num3, mask);
                        Debug.DrawRay(vector2, (Quaternion.Euler(0f, num5, 0f) * vector).normalized * num3, flag2 ? Color.yellow : Color.red, deltaTime);
                        Debug.DrawRay(vector2, (Quaternion.Euler(0f, -num5, 0f) * vector).normalized * num3, flag3 ? Color.yellow : Color.red, deltaTime);
                        int num6 = (flag2 ? -1 : 0) + (flag3 ? 1 : 0);
                        if (num6 == 0)
                        {
                            num6 = ((UnityEngine.Random.Range(0, 1) == 1) ? -1 : 1);
                        }
                        if (this.walkFrustration > 0.5f)
                        {
                            num4 = vector.y + 1f;
                        }
                        else
                        {
                            this.moveVector = Quaternion.Euler(0f, -num5 * (float)num6, 0f) * (vector / magnitude);
                        }
                    }
                    else
                    {
                        this.moveVector = vector / magnitude;
                    }
                }
                if (num != 0f)
                {
                    float num7       = 4f;
                    float num8       = num * 0.5f;
                    float magnitude2 = ((this.currentPosition - this.previousPosition) / deltaTime).magnitude;
                    float num9       = num8 - magnitude2;
                    this.walkFrustration = Mathf.Clamp01(this.walkFrustration + num7 * num9 / num8 * deltaTime);
                }
                if (this.motor)
                {
                    bool isGrounded = this.motor.isGrounded;
                }
                if (this.walkFrustration >= 0.5f && flag)
                {
                    float   num10 = this.motor ? this.motor.capsuleRadius : 1f;
                    Vector3 a2    = vector;
                    a2.y = 0f;
                    a2.Normalize();
                    float      num11 = vector2.y - num2;
                    RaycastHit raycastHit;
                    if (Physics.Raycast(vector2 + a2 * (num10 + 0.25f), Vector3.down, out raycastHit, num11, mask))
                    {
                        num4 = num11 - raycastHit.distance;
                    }
                }
                if (num4 >= (this.motor ? this.motor.stepOffset : 0f))
                {
                    this.jumpSpeed = Trajectory.CalculateInitialYSpeed(0.5f, num4 + 0.1f);
                }
                else
                {
                    this.jumpSpeed = 0f;
                }
            }
            this.avoidanceTimer         -= deltaTime;
            this.walkFrustration        -= deltaTime * 0.25f;
            this.backupRestrictionTimer -= deltaTime;
            this.previousPosition        = this.currentPosition;
        }
 // Token: 0x06001B71 RID: 7025 RVA: 0x0008038D File Offset: 0x0007E58D
 public static float CalculateApex(float initialSpeed)
 {
     return(Trajectory.CalculateApex(initialSpeed, Physics.gravity.y));
 }
 // Token: 0x06001B7B RID: 7035 RVA: 0x00080442 File Offset: 0x0007E642
 public static float CalculateInitialYSpeedForFlightDuration(float duration)
 {
     return(Trajectory.CalculateInitialYSpeedForFlightDuration(duration, Physics.gravity.y));
 }
 // Token: 0x06001B77 RID: 7031 RVA: 0x000803D7 File Offset: 0x0007E5D7
 public static float CalculateInitialYSpeedForHeight(float height)
 {
     return(Trajectory.CalculateInitialYSpeedForHeight(height, Physics.gravity.y));
 }