30 lines
610 B
C#
30 lines
610 B
C#
|
using Godot;
|
||
|
|
||
|
namespace AceField.Scripts;
|
||
|
|
||
|
public partial class Brick : StaticBody2D
|
||
|
{
|
||
|
[Export] public int MaxDecayProgress = 50;
|
||
|
[Export] public int DecayProgress;
|
||
|
|
||
|
public override void _Ready()
|
||
|
{
|
||
|
DecayProgress = MaxDecayProgress;
|
||
|
|
||
|
GetNode<Timer>("DecayTimer").Timeout += () =>
|
||
|
{
|
||
|
DecayProgress--;
|
||
|
if (DecayProgress > 0) return;
|
||
|
|
||
|
GetNode<Timer>("DecayTimer").Stop();
|
||
|
QueueFree();
|
||
|
};
|
||
|
}
|
||
|
|
||
|
public override void _Process(double delta)
|
||
|
{
|
||
|
var sprite = GetNode<Sprite2D>("Sprite2D");
|
||
|
sprite.SelfModulate = new Color(sprite.SelfModulate, (float)DecayProgress / MaxDecayProgress);
|
||
|
}
|
||
|
}
|