Movement refactor

This commit is contained in:
2025-08-30 23:06:12 +02:00
committed by GitHub
parent d786ef4c22
commit 88c7a0a055
41 changed files with 656 additions and 122 deletions

View File

@@ -0,0 +1,28 @@
using Godot;
namespace Mr.BrickAdventures.scripts.components;
[GlobalClass]
public partial class GravityAbility : MovementAbility
{
public float AscendGravity { get; set; }
public float DescendGravity { get; set; }
private float _gravity;
public override void Initialize(PlayerController controller)
{
base.Initialize(controller);
_gravity = (float)ProjectSettings.GetSetting("physics/2d/default_gravity");
}
public override Vector2 ProcessMovement(Vector2 velocity, double delta)
{
if (_body.IsOnFloor()) return velocity;
var gravityToApply = velocity.Y < 0 ? AscendGravity : DescendGravity;
velocity.Y += gravityToApply * (float)delta;
return velocity;
}
}