Files
peggle-roguelike/Pegs/PegAction.cs
T

47 lines
1.0 KiB
C#

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<Sprite2D>("Image");
}
public virtual Tween CreateAnimation(Peg PEG)
{
return null;
}
public virtual void DoImmediately(Peg PEG)
{
}
public virtual bool MeetsCriteria(Peg PEG)
{
if (PEG.GetType().ToString() == "Spearman")
{
GD.Print(Name,": ",PEG._staminaRemaining >= _cost, "&&", _usesRemaining > 0, "&&", (PEG._address - Target(PEG)).Length() <= _range);
}
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;
}
}