Moved fall damage to DamageHandler

This commit is contained in:
go38coz
2026-06-06 14:54:57 +02:00
parent 9d1f04c496
commit 18c0e2a9d6
6 changed files with 593 additions and 162 deletions
+39 -38
View File
@@ -10,7 +10,7 @@ public class DropletMovement : MonoBehaviour
private bool isGrounded = true;
private float facingDirection = 1f;
private bool isDropping = false;
private float fallAngleThreshold = -45f;
// private float fallAngleThreshold = -45f;
private float fallTimer;
private bool isFalling;
public float maxFallTime = 0.5f;
@@ -40,25 +40,26 @@ public class DropletMovement : MonoBehaviour
{
//reset falltimer when start the jump
if ((Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.UpArrow)) && isGrounded)
{
fallTimer = 0f; //jump resets falltime
}
// if ((Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.UpArrow)) && isGrounded)
// {
// fallTimer = 0f; //jump resets falltime
// }
//fall damage
if (isGrounded && fallTimer > 0.6f)
{
Destroy(gameObject); //TODO
}
// if (isGrounded && fallTimer > 0.6f)
// {
// Destroy(gameObject); //TODO
// }
//handle jump/midair variables
if (isGrounded)
{
isFalling = false;
} else
{
HandleMidairLogic();
}
// if (isGrounded)
// {
// isFalling = false;
// }
// else
// {
// HandleMidairLogic();
// }
//dashing
if (isDashing)
@@ -129,28 +130,28 @@ public class DropletMovement : MonoBehaviour
}
[System.Obsolete]
private void HandleMidairLogic()
{
if (rb.linearVelocity.y >= 0)
{
isFalling = false;
fallTimer = 0f;
return;
}
float movementAngle = Mathf.Atan2(rb.velocity.y, rb.velocity.x) * Mathf.Rad2Deg;
//Degrees: 0 - right, 90 - up, -90 - down --> downwards is beteen -90 and -180
//Standard treshhold (degree) = -45 --> between -45 and -135 degrees is falling (instead of jumping)
bool fallingDown = (movementAngle < fallAngleThreshold && movementAngle > (-180f - fallAngleThreshold));
if (fallingDown || rb.velocity.x == 0)
{
isFalling = true;
fallTimer += Time.deltaTime;
Debug.Log($"Fall time: {fallTimer:F2} seconds");
}
}
// [System.Obsolete]
// private void HandleMidairLogic()
// {
// if (rb.linearVelocity.y >= 0)
// {
// isFalling = false;
// fallTimer = 0f;
// return;
// }
//
// float movementAngle = Mathf.Atan2(rb.velocity.y, rb.velocity.x) * Mathf.Rad2Deg;
// //Degrees: 0 - right, 90 - up, -90 - down --> downwards is beteen -90 and -180
// //Standard treshhold (degree) = -45 --> between -45 and -135 degrees is falling (instead of jumping)
// bool fallingDown = (movementAngle < fallAngleThreshold && movementAngle > (-180f - fallAngleThreshold));
//
// if (fallingDown || rb.velocity.x == 0)
// {
// isFalling = true;
// fallTimer += Time.deltaTime;
// Debug.Log($"Fall time: {fallTimer:F2} seconds");
// }
// }
private IEnumerator Dash()
{