public override bool Perform(Point origin, GenAction action)
{
for (int x = origin.X; x < origin.X + this._width; ++x)
{
for (int y = origin.Y; y < origin.Y + this._height; ++y)
{
if (!this.UnitApply(action, origin, x, y) && this._quitOnFail)
return false;
}
}
return true;
}
}