From c12394b098bdeaf6f02177fab5964eb501cb3a39 Mon Sep 17 00:00:00 2001 From: Neil Kollack Date: Tue, 26 Apr 2022 12:58:34 -0500 Subject: fix: physics ultimate redux: Enhanced Edition v2 --- Assets/Scripts/Actors/Actor.cs | 8 ++++---- Assets/Scripts/Actors/Enemy.cs | 15 ++++++++------- Assets/Scripts/Actors/Player.cs | 9 +++++++-- 3 files changed, 19 insertions(+), 13 deletions(-) (limited to 'Assets/Scripts') diff --git a/Assets/Scripts/Actors/Actor.cs b/Assets/Scripts/Actors/Actor.cs index c28abd5..53ea50b 100644 --- a/Assets/Scripts/Actors/Actor.cs +++ b/Assets/Scripts/Actors/Actor.cs @@ -77,7 +77,7 @@ namespace MontanaJohns.Actors var maxSpeed = stats.maxSpeed + maxSpeedModifier; - _rigidBody.AddForce(new Vector2(input * stats.speedMultiplier * 10, 0)); + _rigidBody.AddForce(new Vector2(input * stats.speedMultiplier, 0), ForceMode2D.Impulse); if (!isGrappling) { @@ -124,12 +124,12 @@ namespace MontanaJohns.Actors if(_rigidBody.position.y <= doNotExceed) { var maxSpeed = stats.maxSpeed + maxSpeedModifier; - _rigidBody.AddForce(new Vector2(0, inputY * stats.speedMultiplier * 20)); + _rigidBody.AddForce(new Vector2(0, inputY * stats.speedMultiplier), ForceMode2D.Impulse); - /*if (inputY < 0 && Mathf.Abs(_rigidBody.velocity.y) > maxSpeed) + if (inputY < 0 && Mathf.Abs(_rigidBody.velocity.y) > maxSpeed) _rigidBody.velocity = new Vector2(_rigidBody.velocity.x, -maxSpeed); else if (inputY > 0 && Mathf.Abs(_rigidBody.velocity.y) > maxSpeed) - _rigidBody.velocity = new Vector2(_rigidBody.velocity.x, maxSpeed);*/ + _rigidBody.velocity = new Vector2(_rigidBody.velocity.x, maxSpeed); } } diff --git a/Assets/Scripts/Actors/Enemy.cs b/Assets/Scripts/Actors/Enemy.cs index c2ead1e..fb11e45 100644 --- a/Assets/Scripts/Actors/Enemy.cs +++ b/Assets/Scripts/Actors/Enemy.cs @@ -28,7 +28,14 @@ namespace MontanaJohns.Actors // Update is called once per frame void Update() { - if(!playerSeen) + CheckHealth(); + } + + protected override void FixedUpdate() + { + // Temp override while missing falling logic/animations + //base.FixedUpdate(); + if (!playerSeen) { if (Mathf.Abs(player.transform.position.x - transform.position.x) <= 50 && Mathf.Abs(player.transform.position.y - transform.position.y) <= 15) playerSeen = true; @@ -38,12 +45,6 @@ namespace MontanaJohns.Actors MoveTowardsPlayer(); Attack(); } - CheckHealth(); - } - - protected override void FixedUpdate() - { - // Temp override while missing falling logic/animations } void MoveTowardsPlayer() diff --git a/Assets/Scripts/Actors/Player.cs b/Assets/Scripts/Actors/Player.cs index 0973c5a..4adcfd9 100644 --- a/Assets/Scripts/Actors/Player.cs +++ b/Assets/Scripts/Actors/Player.cs @@ -48,7 +48,13 @@ namespace MontanaJohns.Actors protected void Update() { ((IFollowable)this).Follow(); - if(isGrappling) + DeathCheck(); + } + + protected override void FixedUpdate() + { + base.FixedUpdate(); + if (isGrappling) { base.Grapple(move.ReadValue().x, move.ReadValue().y, (Vector2)grapplePoint); } @@ -58,7 +64,6 @@ namespace MontanaJohns.Actors if (isMoving && !_animator.GetBool("airborn") && !_audio.isPlaying("RunningOnGrass")) _audio.Play("RunningOnGrass"); else if (!isMoving || _animator.GetBool("airborn")) _audio.Stop("RunningOnGrass"); } - DeathCheck(); } protected void DeathCheck() -- cgit v1.2.3-70-g09d2