Files
GameJam2023/Scripts/FireAtPlayer.cs
2023-09-04 11:43:54 -07:00

30 lines
757 B
C#

using Godot;
using System.Linq;
public partial class FireAtPlayer : Timer
{
[Export]
private Area3D _enemy;
[Export]
private PackedScene _fireProjectile;
public void OnFireAtPlayer()
{
var players = GetTree().GetNodesInGroup("Player");
if (players.Any())
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => _enemy.Position.DistanceTo(x.Position)).FirstOrDefault();
var projectile = _fireProjectile.Instantiate<Projectile>() as EnemyBullet;
projectile.Rotation = _enemy.Rotation;
projectile.Position = _enemy.Position;
GetParent().AddChild(projectile);
}
}
private void OnDied()
{
Stop();
}
}