protected bool Equals(Region other) { return Equals(block, other.block) && a == other.a && b == other.b; }
public bool Intersects(Region other) { return other.b >= a && b >= other.a; }
// IMPORTANT: CALL MERGEREGIONS AFTER public void freeRegion(Region r) { freeSpace.Add(r); reportFreed(r.length); }
private void deleteRegion(Region region) { // HELP }
IEnumerable<Region> hitscanRegion(Region r) { return freeSpace.Where(x => x.Intersects(r)); }