Есть такая переменная
public abstract bool IsFinished { get; protected set; }
И вот такой пример её реализации
public override bool IsFinished { get => Vector3.Distance(Unit.position, Point) <= Offset; protected set => IsFinished = value; }
Вопрос - не написал ли я хуйни в плане гета и сета? Я не про конкретные реализации сравнений, если что.