Knockback tag implementation
This commit is contained in:
@@ -20,15 +20,14 @@ public partial class EnemyLogic
|
||||
var delta = input.Delta;
|
||||
var enemy = Get<IEnemy>();
|
||||
var targetPosition = enemy.NavAgent.GetNextPathPosition();
|
||||
var velocity = (targetPosition - enemy.GlobalPosition).Normalized() * 1.0f;
|
||||
enemy.Velocity = velocity;
|
||||
var lookAtDir = enemy.GlobalTransform.Origin - enemy.Velocity;
|
||||
var velocity = (targetPosition - enemy.GlobalPosition).Normalized() * 1.0f * (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(new Vector3(lookAtDir.X, enemy.GlobalPosition.Y, lookAtDir.Z));
|
||||
|
||||
Output(new Output.MovementComputed());
|
||||
Output(new Output.MovementComputed(velocity));
|
||||
return ToSelf();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user