-- implements gates and travel between them
-- used in HSE and Eressea

local gates = {}

function gates.travel(b, units)
  -- we've found which units we want to exchange, now swap them:
  local u
  for key, u in pairs(units) do
    u.region = b.region
    u.building = b
  end
end

function gates.units(b, maxsize)
  local size = maxsize or 1
  local units = {}
  local u

  for u in b.units do
    if u.number<=size and u.weight<=u.capacity then
      units[u] = u
      size = size - u.number
    end
  end
  return units
end

return gates