using Godot; namespace AceField.Scripts; public partial class Bullet : Area2D { [Export] public int PlayerId = 1; [Export] public float Speed = 1500; [Export] public double Damage = 8; [Export] public Timer FreeTimer; public override void _Ready() { FreeTimer.Timeout += QueueFree; BodyEntered += body => { if (body is Player player) { if (player.PlayerId == PlayerId) return; player.TakeDamage(Damage); } if (body is Brick brick) { if (brick.PlayerId == PlayerId) return; brick.DecayProgress--; } QueueFree(); }; } public override void _PhysicsProcess(double delta) { Position += -Transform.Y * Speed * (float)delta; } }