2024-08-08 16:42:22 +00:00
|
|
|
using Godot;
|
|
|
|
|
|
|
|
namespace AceField.Scripts;
|
|
|
|
|
|
|
|
public partial class Brick : StaticBody2D
|
|
|
|
{
|
|
|
|
[Export] public int MaxDecayProgress = 50;
|
|
|
|
[Export] public int DecayProgress;
|
|
|
|
|
2024-08-08 18:20:56 +00:00
|
|
|
[Export] public int PlayerId;
|
|
|
|
|
2024-08-08 16:42:22 +00:00
|
|
|
public override void _Ready()
|
|
|
|
{
|
|
|
|
DecayProgress = MaxDecayProgress;
|
|
|
|
|
|
|
|
GetNode<Timer>("DecayTimer").Timeout += () =>
|
|
|
|
{
|
|
|
|
DecayProgress--;
|
|
|
|
if (DecayProgress > 0) return;
|
|
|
|
GetNode<Timer>("DecayTimer").Stop();
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void _Process(double delta)
|
|
|
|
{
|
2024-08-08 18:20:56 +00:00
|
|
|
if(DecayProgress <= 0) QueueFree();
|
|
|
|
|
2024-08-08 16:42:22 +00:00
|
|
|
var sprite = GetNode<Sprite2D>("Sprite2D");
|
|
|
|
sprite.SelfModulate = new Color(sprite.SelfModulate, (float)DecayProgress / MaxDecayProgress);
|
|
|
|
}
|
|
|
|
}
|