using Godot; namespace FOU.Scripts.Elements; public class Dirt : Solid { public Dirt(int x, int y, ref Level level) : base(x, y, ref level) { Color = Colors.Brown; } public override bool Update(int currentFrame) { if (!base.Update(currentFrame)) return false; Vector2I freePos = Check(this, Vector2I.Down + Vector2I.Right); if (freePos != Vector2I.Zero) { // diagonally right _level.Swap(this, freePos); return true; } return true; // not necessarily end, subclasses could do some more things } }