Files
MovementTests/components/knockback/CKnockback.cs
Minimata db49703326
Some checks failed
Create tag and build when new code gets to main / BumpTag (push) Successful in 22s
Create tag and build when new code gets to main / Export (push) Failing after 1m51s
added fixed dash targets and can dash towards enemies to hit them, get a knockback or dash through if killed
2026-01-21 16:46:20 +01:00

27 lines
726 B
C#

using Godot;
using System;
using Movementtests.interfaces;
[GlobalClass]
public partial class CKnockback : Node3D, IKnockbackable
{
[Export] public RKnockback RKnockback { get; set;}
private DamageRecord _damageRecord = null;
public void RegisterKnockback(IDamageable source, DamageRecord damageRecord)
{
_damageRecord = damageRecord;
}
public Vector3 ComputeKnockback()
{
if (_damageRecord == null) return Vector3.Zero;
var knockbackDirection = GlobalPosition - _damageRecord.Source.GlobalPosition;
_damageRecord = null;
var finalKnockback = knockbackDirection.Normalized() * RKnockback.Modifier;
return finalKnockback;
}
}