Knockback tag implementation

This commit is contained in:
2024-09-18 16:45:00 -07:00
parent 884f283ead
commit d5c81d6587
11 changed files with 34 additions and 51 deletions

View File

@@ -19,13 +19,13 @@ namespace GameJamDungeon
enemy.NavAgent.TargetPosition = target;
var targetPosition = enemy.NavAgent.GetNextPathPosition();
enemy.Velocity = (targetPosition - enemy.GlobalTransform.Origin).Normalized() * 2f;
var lookAtDir = enemy.GlobalTransform.Origin - enemy.Velocity;
var velocity = (targetPosition - enemy.GlobalTransform.Origin).Normalized() * 2f * (float)delta;
var lookAtDir = enemy.GlobalTransform.Origin - velocity;
var lookAtPosition = new Vector3(lookAtDir.X, enemy.GlobalPosition.Y, lookAtDir.Z);
if (!enemy.Velocity.IsEqualApprox(Vector3.Zero) && !enemy.GlobalPosition.IsEqualApprox(lookAtPosition))
if (!velocity.IsEqualApprox(Vector3.Zero) && !enemy.GlobalPosition.IsEqualApprox(lookAtPosition))
enemy.LookAt(lookAtPosition);
Output(new Output.MovementComputed());
Output(new Output.MovementComputed(velocity));
return ToSelf();
}