GE Lua Documentation

Press F to search!

createGroup

Definition


-- @/lua/ge/extensions/core/multiSpawn.lua:285

local function createGroup(amount, params) -- creates a group array from a table of parameters
  -- params = {allMods, allConfigs, filters, country, modelPopPower, configPopPower}
  params = params or {}
  amount = amount or 10 -- default group size
  params.filters = params.filters or deepcopy(defaultFilters)
  -- default filters: Type = selects valid road vehicles
  -- special filters: maxYear = latest year to allow for selection

  if params.country then params.country = string.lower(params.country) end
  local vehData = getInstalledVehicleData(params)

  if not vehData[1] then
    log('I', logTag, 'No vehicle data found from filters, now returning empty group')
    return {}
  end

  -- set population data for models, then for its configs
  vehData = setPopulationData(vehData, params.country, params.modelPopPower)
  for _, v in ipairs(vehData) do
    v.configData = setPopulationData(v.configData, nil, params.configPopPower)
  end

  return buildGroup(vehData, amount, params.modelPopPower, params.configPopPower, params.popDecreaseFactor)
end

Callers

@/lua/ge/extensions/editor/tech/roadArchitect/groups.lua
-- Identifies group (from given polygon) and creates a new prefab group.
local function createGroup(gPolygon, roads)
@/lua/ge/extensions/gameplay/traffic.lua
  amount = amount or max(1, getAmountFromSettings() - #getAllVehiclesByType()) -- if amount nil, automatically sets a limited amount to save performance
  groupData = groupData or core_multiSpawn.createGroup(amount)
  options = type(options) == 'table' and options or {}

  spawnTraffic(amount, core_multiSpawn.createGroup(amount, params))
end
@/lua/ge/extensions/editor/roadArchitect.lua
    gPolygon[#gPolygon + 1] = gPolygon[1]
    groupMgr.createGroup(gPolygon, roads)
    table.clear(gPolygon)
@/lua/ge/extensions/editor/multiSpawnManager.lua

local function createGroup(data) -- creates a new vehicle group to edit
  data = data or {}
        core_multiSpawn.useFullData = true
        options.generatedGroup = core_multiSpawn.createGroup(currGroup.generator.amount, currGroup.generator)
      end
          tempData.data = deepcopy(options.generatedGroup)
          createGroup(tempData)
      if currGroup.generator then
        tempGroup = core_multiSpawn.createGroup(currGroup.generator.amount, currGroup.generator)
      elseif currGroup.data then
      if im.MenuItem1("New") then
        createGroup()
      end
          tempData.name = tempData.name.." - Copy"
          createGroup(tempData)
        end
      if im.Button("New Group") then
        createGroup()
      end
@/lua/ge/extensions/core/multiSpawn.lua
    log('W', logTag, 'Could not parse vehicle group data, now creating default group...')
    group = createGroup()
  end
  log('W', logTag, 'This function is deprecated, please use function: spawnGroup')
  return spawnGroup(createGroup(), amount, {shuffle = shuffle, mode = spawnMode, gap = spawnGap})
end
@/lua/ge/extensions/gameplay/parking.lua

    group = core_multiSpawn.createGroup(amount, params)
  end
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/fileVehicleGroup.lua
      local amount = self.vehGroup.generator and self.vehGroup.generator.amount or 10
      self.vehGroup.data = core_multiSpawn.createGroup(amount, self.vehGroup.generator)
    end
@/lua/ge/extensions/util/stepHandler.lua
    -- step 0: spawn group
    local group = core_multiSpawn.createGroup(step.options.amount, step.options.generator)
    step.groupId = core_multiSpawn.spawnGroup(group, step.options.amount, {name = group.name, shuffle = true, mode = "traffic"})
@/lua/ge/extensions/gameplay/traffic/trafficUtils.lua

  return core_multiSpawn.createGroup(amount, params)
end

  return core_multiSpawn.createGroup(amount, params)
end
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficCustomGroup.lua
      log('W', 'trafficCustomGroup', 'Invalid vehicle group data, now creating default data')
      self.group.data = core_multiSpawn.createGroup(20)
    end