using Godot; using System; public partial class PegAction : Node2D { public string _category; public int _priority, _cost, _range, _usesMax, _usesRemaining, _triggers = 0; public Sprite2D _image; public override void _Ready() { base._Ready(); _image = GetNode("Image"); } public virtual Tween CreateAnimation(Peg PEG) { return null; } public virtual void DoImmediately(Peg PEG) { } public virtual bool MeetsCriteria(Peg PEG) { return PEG._staminaRemaining >= _cost && _usesRemaining > 0 && (PEG._address - Target(PEG)).Length() <= _range; } public virtual void Reset() { _usesRemaining = _usesMax; } public virtual Vector2I Target(Peg PEG) { return PEG._address; } }