43 lines
846 B
C#
43 lines
846 B
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)
|
|
{
|
|
return PEG._staminaRemaining >= _cost
|
|
&& _usesRemaining > 0
|
|
&& (PEG._address - Target(PEG)._address).Length() <= _range;
|
|
}
|
|
|
|
public virtual void Reset()
|
|
{
|
|
_usesRemaining = _usesMax;
|
|
}
|
|
|
|
public virtual MapCell Target(Peg PEG)
|
|
{
|
|
return PEG._cell;
|
|
}
|
|
}
|