Files
2025-08-30 23:06:12 +02:00

28 lines
761 B
C#

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;
}
}